[英]fscanf in a function (Language C)
我正在使用fscanf()读取char的文本文件char;
我试图将我的FILE指针传递给一个函数,继续在那里阅读,但我陷入了一个循环。
void keepReading(FILE *fp){
char c;
fscanf(fp, "%c", &c);
}
/* main */
fscanf(fp, "%c", &c);
while(c!='A'){
keepReading(fp);
}
有任何想法吗?
keepReading()
的变量c
是该函数的本地变量。 将值返回到循环并测试它
char keepReading(FILE *fp){
char c;
fscanf(fp, "%c", &c);
return c;
}
/* main */
fscanf(fp, "%c", &c);
while(c!='A'){
c = keepReading(fp);
}
不要使用fscanf
,如果要逐个字符地读取文件,请使用读取字符的函数fgetc
。 fscanf
用于读取格式化数据。
#include <stdio.h>
int main(void)
{
FILE *file = fopen("...", "r");
int c;
while ((c = fgetc(file)) != EOF)
{
if (c == 'A') break;
// do stuff
}
fclose(file);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.