我已经坚持了一段时间。我如何将像素值0-255从pgm文件复制到数组中?这就是我到目前为止所拥有的。我知道我已经脱离了它的假设。
#include <stdio.h>
#include <stdlib.h>
int main(int argc, int *argv[])
{
int i = 0, j = 0;
unsigned int str[1000];
FILE *pgmFile;
if (argc != 2)
{
printf ("ERROR, Not enough arguments.");
exit(EXIT_FAILURE);
}
if ((pgmFile = fopen(argv[1], "r")) == NULL)
{
printf ("ERROR, File cannot be opened");
exit(EXIT_FAILURE);
}
do
{
fscanf (pgmFile, "%d", str[i]);
printf ("%d", str[i]);
i++;
}
while (str[i] != EOF);
fclose (pgmFile);
return 0;
}
答案 0 :(得分:0)
您应首先阅读标题(3行)。
使用标题中的数据,您可以在Y行数中设置for循环读数。在每一行中,您应该读取X量的像素数据和换行符。如果任何读取函数返回错误代码,则应打印出错误消息并中止。