编写了一个简短的程序来读取文件,然后在屏幕上打印文件的内容。下面是代码片段。有逻辑错误。该程序只是编译并在屏幕上不打印任何内容。我的思考过程是阅读并仅打印字符,并跳过找到的逗号。
Eg file
A,1
B,2
Eg output
A 1
B 2
char = str;
while(fscanf(fpointer, "%c", &str) == 1)
{
while((str=getchar()) != ',')
printf("%c",str);
}
最佳答案
您的第一个while陈述是正确的。但是,在第二个while语句中不要使用getchar
。这将等待用户输入字符(这就是为什么屏幕上什么都没有为您打印的原因)。请尝试使用此方法。
while(fscanf(f, "%c", &str) == 1)
{
//while((str=getchar()) != ',')
if( str==',')
{
printf(" ");
}
else
{
printf("%c",str);
}
}
关于c - 读取文件内容,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41990683/