Я запрашиваю у пользователя имя файла, но как только пользователь нажимает клавишу ввода, он также принимает это в имя файла. поэтому файл не найден.fgets Представляем новую строку во вход пользователя
int main(){
char file[100];
FILE *fp;
printf("Please enter a valid filename:\n");
fgets(file,100,stdin);
fp=fopen(file, "r");
if(!fp){
printf("File not found.\n"); \\This will always happen because a new line is added to the user's input.
return 1;}
Если я использую
scanf("%s", file);
Вопрос не бывает, но я слышал зсапЕ не хорошая функция для использования и вводит новые проблемы. Как я могу решить новую проблему с fgets?
Но также см [При использовании получает, чтобы получить имя файла в C, файл открывается, но при использовании fgets он не] (http://stackoverflow.com/q/25311542/1281433), и [ fgets() Не игнорирует новую строку] (http://stackoverflow.com/q/21270323/1281433). –
-1 для «Этот вопрос не показывает никаких исследований». [Поиск Google для 'fgets Представляем новую строку на входном сайте пользователя: stackoverflow.com'] (https://www.google.com/search?q=fgets+Introducing+new+line+in+user%27s+input + site% 3Astackoverflow.com) (то есть * название этого вопроса *) вызывает этот дубликат в качестве третьего результата. –