Я пытаюсь работать с файлами в C. Когда я вводил имя файла по командной строке, он работает, но когда я пытаюсь ввести имя файла на стандартный ввод, он не работает. Вот мой код:Ошибка при работе с файлами
int main()
{
FILE * input;
char fileName[100];
printf("Enter file name\n");
scanf("%c",fileName);
input=fopen(fileName,"r");
readData(input);
return 0;
}
я запускаю этот код this-
gcc temp.c -o exe
./exe
Enter file Name
input.txt
Это дает эту ошибку:
File not found or unable to read
Segmentation fault (core dumped)
Но это работает:
int main(int argc,char *argv[])
{
FILE * input;
input=fopen(argv[1],"r");
readData(input);
return 0;
}
I запустите этот код следующим образом:
gcc temp.c -o exe
/exe input.txt
Почему возникает первое сообщение об ошибке?
'scanf ("% c ", fileName);' -> 'scanf ("% 99s ", fileName);' – chux
@chux Спасибо, что это сработало. – Coder