我正在尝试读取一个 pgm 文件并将其放入一个数组中以进行分配,然后我将它放在可以将每一行放入一个字符串的位置,然后我尝试对每一行进行 sscanf 以获取值,但它总是将零放入对于 num 不管它是什么。它可能与 pgm 文件有关,每列之间有 1 或 2 个空格,但我不确定`
int **image = (int**) malloc(*numCols * sizeof(int*));
int i;
for(i = 0; i < *numCols; i++)
{
image[i] = (int *) malloc(*numRows * sizeof(int));
}
int r,c;
int num = 0;
char *line = (char *) malloc(*numCols * sizeof(char));
for(r = 0; r < *numRows; r++)
{
int number = (*numCols * sizeof(int));
fgets(line, number, in);
for(c = 0; c < *numCols; c++)
{
sscanf(line,"%d",&num);
printf("%d",num);
image[r][c] = num;
}
sscanf(line,"%*[\n]");
printf("\n");
}
return image;