【发布时间】:2013-12-10 16:35:40
【问题描述】:
我必须从 .txt 文件中读取“N”个整数并将每个整数放入数组 X[i] 但问题是,我不应该知道 txt 中有多少 int。该代码必须适用于遵循此模型的每个 txt
5 4
1 2 3
1 3 4
2 3 5
4 5 5
所以我有,在第一行,第二个数字(示例中为 4),txt 中的 int 数将为 N=4*3(4 行,3 个数字(总是第二个数字*3))+ 2(第一行)
我知道的唯一代码是当我知道有多少数字时,比如
int t[14] // I know there are 14 numbers on the .txt
while(fgets(buf, sizeof(buf), fp)) {
int result = sscanf(buf, "%d %d %d %d %d %d %d %d %d %d %d %d %d %d", &t[0], &t[1], &t[2], &t[3], &t[4], &t[5], &t[6],&t[7],&t[8],&t[9],&t[10], &t[11],&t[12],&t[13]);
if (result <= 0) break; // EOF, IO error, bad data
for (r=0; r<result; r++) {
if (i >= sizeof(X)/sizeof(X[0])) break; // too many
X[i++] = t[r]; //put them in the X[MAX]
}
}
而且我需要阅读每个数字,例如
2 3 5
我将 5 放入数组[2][3]
我该怎么做?
谁能给我举个例子???
谢谢!
【问题讨论】:
-
您需要动态地分配数组,可能使用
malloc库调用。