При использовании get для получения имени файла в C, файл открывается, но при использовании fgets это не
Я пытаюсь, в C, получить строку из пользовательского ввода, чтобы программа могла открыть выбранный файл.
Я попытался использовать fgets, потому что я прочитал во многих потоках, что это более безопасный вариант (в отличие от get).
Однако, когда строка сохраняется с использованием get, файл открывается, а с fgets - нет.
Вот код, который я использую:
char csvFile[256];
FILE *inpfile;
printf("Please enter CSV filename: ");
fgets(csvFile,256,stdin);
printf("\nFile is %s\n",csvFile);
inpfile = fopen(csvFile,"r");
if(inpfile == NULL)
{
printf("File cannot be opened!");
}
Я знаю, что файл существует, но с помощью fgets введен блок if.
Единственная разница в том, что с помощью:
gets(csvFile);
работает вместо
fgets(csvFile,256,stdin);
Может ли кто-нибудь помочь мне понять это? Заранее спасибо.