我无法找到问题的具体答案。我真的很低级,刚刚开始并有一个课程,我学会了从CodeBlocks创建文件。我带回家的代码,但它不会工作,因为它不在同一台计算机上。因此,我们的想法是创建一些允许用户为新形成的.txt文件选择路径的东西。当我手动插入“c:\ example.txt”之类的东西而不是s时,代码会创建一个文件“example.txt”但是当我将它作为输入发送时,它根本不会。为什么呢?
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
FILE *a=NULL;
char s[50];
puts("Enter the path of the file: ");
fgets(s,50,stdin);
a=fopen(s,"w");
if(a==NULL)
exit(1);
else
printf("Successful input");
}
答案 0 :(得分:0)
所以整个问题是
fgets
函数在最后添加\n
?有没有其他想法让这项工作?
您可以替换
fgets(s,50,stdin);
与
scanf("%49[^\n]%*c", s);
- 只要其大小允许,就会将\n
中的输入读取为s,并消耗\n
,这样它就不会妨碍以后输入。