通过scanf逐行读取
Reading by scanf line by line
我需要使用 scanf 读取输入到标准输入的文本文件。我想逐行读取文本文件,然后将行中的每个值分配给它们的值。
这是文本文件
38
5 35 3099 48 222 16 4 1 Ronaldo
2 33 2572 22 97 7 6 0 Neymar
1 38 3375 43 191 18 4 0 Messi
13 37 2472 22 80 1 6 0 Griezmann
第一行是最大游戏数。
然后我想阅读下一行并将其分配给变量。像数字 = 5,目标 = 35,....
然后到下一行并以相同的方式阅读。人数 = 2,目标 = 33,....
我该怎么做?
不要使用scanf()
,它既不灵活也不可靠。
而是使用 fgets()
to read the entire line from standard input and then tokenize the input using strtok()
。这将为您提供更强大的算法。
您可以使用fscanf
从文本文件中读取(因为您有固定格式的数据)-
char name[100];
int a,b,c,d,e,f,g,h; // sorry for such variable names
while(fscanf(fp,"%d %d %d %d %d %d %d %d %99s",&a,&b,&c,&d,&e,&f,&g,&h,name)==9) // fp be file pointer
我需要使用 scanf 读取输入到标准输入的文本文件。我想逐行读取文本文件,然后将行中的每个值分配给它们的值。
这是文本文件
38
5 35 3099 48 222 16 4 1 Ronaldo
2 33 2572 22 97 7 6 0 Neymar
1 38 3375 43 191 18 4 0 Messi
13 37 2472 22 80 1 6 0 Griezmann
第一行是最大游戏数。 然后我想阅读下一行并将其分配给变量。像数字 = 5,目标 = 35,.... 然后到下一行并以相同的方式阅读。人数 = 2,目标 = 33,....
我该怎么做?
不要使用scanf()
,它既不灵活也不可靠。
而是使用 fgets()
to read the entire line from standard input and then tokenize the input using strtok()
。这将为您提供更强大的算法。
您可以使用fscanf
从文本文件中读取(因为您有固定格式的数据)-
char name[100];
int a,b,c,d,e,f,g,h; // sorry for such variable names
while(fscanf(fp,"%d %d %d %d %d %d %d %d %99s",&a,&b,&c,&d,&e,&f,&g,&h,name)==9) // fp be file pointer