【发布时间】:2022-01-04 07:09:27
【问题描述】:
我正在做一个作业,而且我对 C 语言比较陌生。如果给我一个这样的输入文件:
25 08 10 15 10
10 13 50 60 70
10 10 15 00 90
00 05 07 80 12
10 05 60 70 88
我将如何正确地将这些存储在一个数组中,以便它像二维数组一样显示,或者这在我使用 C 的方式中是不可能的。
我下面的代码是将输入文件转换为二维数组的函数。假设我已经有其他功能错误检查文件是否格式正确。
void createMatrix(FILE *fp) {
int row = 5;
int col = 5;
char matrix[row][col];
int i, j;
char num[25];
rewind(fp);
for (i=0; i<row; i++) {
for(j=0; j<col; j++) {
fscanf(fp, "%s", name);
bingoCard[i][j] = name;
}
}
}
如果它是我要查找的整数,这将起作用,但我需要保留数字前面的 0,例如
00
或08。稍后我还需要附加这些数字,这就是为什么我需要以字符串格式将它们放入数组中。谁能指出我正确的方向?
然后我需要在像这样对其进行更新时打印输入文件
25X 08 10 15 10
10 13 50 60 70
10 10 15 00 90
00 05 07 80 12
10 05 60 70 88
【问题讨论】:
-
查看
printf的格式说明符。%02d之类的东西可以在数字前加上 0。请记住,您在内存中的存储方式和显示方式不必相同。 -
输入的是原始数据还是文本?
-
@Lundin 这是文本数据。