I'm trying, in C, to get a string from user input so the program can open a chosen file.
I tried using fgets because I read on numerous threads that it is the safer option (as opposed to gets).
However when a string is stored using gets, the file opens, but with fgets it does not.
Here is the code I'm using:
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!");
}
I know the file exists but with fgets the if block is entered.
The only difference is that using:
gets(csvFile);
works in place of
fgets(csvFile,256,stdin);
Can anyone help me make sense of this? Thanks in advance.