【发布时间】:2012-02-10 02:47:24
【问题描述】:
我正在尝试从空格和制表符分隔的文本文件中读取单词和数字。我需要识别包含“Step”和“False”的行。我还需要单独存储每个单词或数字,以便以后可以丢弃一些。
我在尝试编写在行尾标识“False”的代码部分时遇到问题。我需要代码来识别它已达到 False 并打破 for 循环。
注意:它的设计目的是让您输入自己的路径。这部分有效。另外,我读到 fscanf 比 fgets 和 fputs 更难使用,但是我正在读取的数据文件的格式非常一致。这似乎对我的目的很有效,因为有些条目需要双打。
int j;
int k;
char i[4];
char File_path[40];
char dummy;
char stuff[7] = "False"
printf("Input Path: ");
scanf("%s", &File_path);
printf("Reading: %s\n\n",File_path);
FILE *fp;
fp=fopen(File_path, "r");
for(j=0; j<7 && i != stuff; j++)
{
fscanf(fp,"%s",i);
fprintf(stdout,"Read: %s\n",i);
}
fclose(fp);
我正在阅读的文件是:
True.0 kinda false False False
这会返回:
Reading: c:\\Data\\1.txt
Read: True.0
Read: kinda
Read: false
Read: False
Read: False
Read: False
Read: False
我尝试将内容更改为“False”,但结果相同。
【问题讨论】: