【发布时间】:2013-03-23 01:19:20
【问题描述】:
我正在编写一个程序,它从 txt 中获取名称和数字,并将它们添加到数组中,具体取决于它是字符串还是数字。
我目前的程序是这样的:
#include <stdio.h>
int main() {
FILE * ifp = fopen("input.txt","r");
FILE * ofp = fopen ("output.txt", "w");
int participants = 0, i , j;
char name [10];
int grade [26];
fscanf(ifp, "%d", &participants);
for (i = 1; i < participants; i++) {
fscanf(ifp, "%s", name);
for (j = 0; j < 8; j++) {
fscanf(ifp, "%d", &grade[j]);
}
}
printf( "%d\n", participants);
printf( "%s\n", name);
printf( "%d\n", grade);
fclose(ifp);
fclose(ofp);
return 0;
}
我的输出是这样的:
2
Optimus
2686616
我的txt文件是这样的:
2
Optimus
45 90
30 60
25 30
50 70
Megatron
5 6
7 9
3 4
8 10
关于我如何制作它的任何想法,以便它显示如下:
2
Optimus
Megatron
45
90
30
60
25
30
50
70
5
6
7
9
3
4
8
10
【问题讨论】:
-
如果数据具有特定结构,请考虑使用能够捕获该结构的格式。 - 同样在这种情况下,请在您的问题中提供输入的结构,以避免猜测。比如第一个数字是2,条目数?
-
我只需要找到一种方法将数字放入数组中。一旦我弄清楚了,我就可以继续。我只是遇到了障碍。
-
只需创建一个数组并将数字加载到其中?
-
我必须从文件中读取数字,这就是我尝试的原因:fscanf(ifp, "%s", name) 和 fscanf(ifp, "%d", &grade[j] )
-
好吧,我会选择
strtok和atoi,但结果应该是一样的?
标签: c