我正在尝试通过读取包含整数的文本文件stdin
并将值存储在 9x9 数组中(请注意,文件必须通过stdin
而不是作为 arg 读取)
这就是我所拥有的:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
int main()
{
int puzzle[9][9];
int i,j,count=0;
char value[81];
for( i = 0; i < 9; i++ ) {
for( j = 0; j < 9; j++ ) {
scanf("%c", &value[count]);
puzzle[i][j] = value[count] - '0';
count++;
}
}
}
但它似乎没有将 ASCII 字符从转换scanf
为 int,这是我认为value[count] - '0'
应该做的,所以我最终得到这样的值:
-16-16-160-16-160-16-161
基本上我正在尝试完全按照该线程中的描述进行操作,但使用 C 而不是 C++:
编辑 -
输入文件如下所示(包含空格和新行):
0 0 1 9 0 0 0 0 8
6 0 0 0 8 5 0 3 0
0 0 7 0 6 0 1 0 0
0 3 4 0 9 0 0 0 0
0 0 0 5 0 4 0 0 0
0 0 0 0 1 0 4 2 0
0 0 5 0 7 0 9 0 0
0 1 0 8 6 0 0 0 7
7 0 0 0 0 9 2 0 0