Ошибка открытия файла с относительным путем - PullRequest
3 голосов
/ 11 января 2012

Ошибка открытия файла с помощью fopen (), когда я указываю относительный путь. Я выполняю этот код на компьютере с Windows с Visual Studio 2010.

const char* OUTPUT_FILE = "output/PERFORMANCE.txt";
FILE* f = fopen(OUTPUT_FILE, "w");

Является ли этот способ указания относительного пути неверным? Должен ли я использовать разделитель "\"?

Указание абсолютного пути в том же формате работает нормально. (например, «C: /output/PERFORMANCE.txt»)

Ответы [ 2 ]

2 голосов
/ 11 января 2012

Проверьте, в каком каталоге вы сейчас находитесь. В Windows есть как минимум два способа:

  1. _getcwd
  2. GetCurrentDirectory

Убедитесь, что вы находитесь в каталоге, который вам нужен, и убедитесь, что каталог output существует в каталоге, в противном случае вам потребуется его создать.В Windows есть как минимум два способа:

  1. _mkdir
  2. CreateDirectory

Файл не откроется (даже для записи), если отсутствуют какие-либо промежуточные каталоги.Файл также может не открыться, если у вас нет прав доступа к целевому каталогу.

0 голосов
/ 11 января 2012

Существует ли подкаталог output?Открытие файла для записи создаст файл, если он не существует, но не путь к нему.

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