В настоящее время у меня возникают проблемы с функцией ниже, пытаясь открыть файл, независимо от того, что я ему даю, функция не может открыть файл. В настоящее время я перехожу к «./input.txt», который является файлом в том же каталоге, что и исполняемый файл. Есть ли что-то откровенно неправильное в коде, который вы, ребята, видите?Ошибки, открывающие файл в c
FILE* openInputFile(char* inputFileName)
{
FILE* ifp= NULL;
printf("%s\n", inputFileName);
ifp = fopen(inputFileName, "rb");
if(ifp == NULL)
{
printf("Error opening input file.\n");
}
return ifp;
}
Вы на окнах или в UNIX? – ojblass
Нет; есть незначительные нитки, которые можно подобрать, но ничего серьезного, что я вижу. Ваша проблема может заключаться в том, что текущий каталог вашего процесса не является каталогом, который, по вашему мнению, является. Текущий каталог будет текущей директорией оболочки, которая запускает этот процесс, а не каталог, в котором находится код. Вы можете напечатать ошибку из 'errno' через' strerror() ', чтобы увидеть, что происходит не так, но это вероятно, просто говорит «нет такого файла или каталога». Вы можете использовать ['getcwd()'] (http://pubs.opengroup.org/onlinepubs/9699919799/functions/getcwd.html), чтобы распечатать рабочий каталог. –
@ojblass: теги говорят «Linux». –