fopen () с относительным путем - PullRequest
4 голосов
/ 03 октября 2011

У меня проблемы с использованием fopen () с относительным путем.Я хотел использовать fopen следующим образом:

fopen("\\Saurabh\\pqrs.txt");

я получаю filePointer как ноль.

Ситуация возникла, потому что я пытаюсь создать проект установки или развертывания, который должен читать файлы.Пути к файлам, выбранные по умолчанию после того, как пользователь выполнит установку, - это C: \ Program Files \ Setup .. (куда выводится exe).Поэтому я сбросил файлы в той же папке и дал путь (фиксированный или жестко заданный) к этим файлам в программе.

Если пользователь выбирает какой-либо другой путь для установки, программа завершается ошибкой.

Есть ли способ, как я могу это исправить?

Ответы [ 2 ]

7 голосов
/ 03 октября 2011

Две проблемы:

  1. Вам необходимо экранировать символ обратной косой черты.Напишите \\.
  2. Вам необходимо использовать относительный путь.Начав путь с \\, вы имеете в виду начать с корневого каталога .

Соединяя их, я думаю, что вы должны написать:

fopen("Saurabh\\pqrs.txt");
1 голос
/ 03 октября 2011

Убедитесь, что вы удвоили \ символов.Строка, которую вы передаете, должна быть "Saurabh\\pqrs.txt".Обратите внимание, что начало пути с \\ означает, что оно не является относительным.(Ну, на самом деле это относительно вашего текущего диска, но я сомневаюсь, что это то, что вы ищете)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...