嘿伙计们,我正在尝试使这段代码在 c 中工作,我有一个看起来像这样的数据文件:
123 456 789 101 121 131 415....
它是图像的数据,这些数字在 256X128 的网格中,我正在尝试使用嵌套的 for 循环读取这些数字并以相同的方式打印它们,但输出文件中应该有相同的网格实际上是:
-858993460-858993460-858993460-858993460-858993460-858993460-858993460-858993460...
我不确定我的代码需要更改什么来解决这个问题,因为我是编程新手,这是我第一次尝试代码,如果不太清楚,很抱歉
#include <stdio.h>;
#define height 128
#define width 256
#define MAX 255
char magic[] = "P3";
int main()
{
{
int n, m;
double R[128][256];
FILE *red = NULL;
red = fopen ("picture.red", "r"); //read infile//
for (n=0; n<128; n++)
{
for (m=0; m < 256; m++)
fscanf(red, "%d", &R[n][m]); //scan in grid//
}
fclose (red);
}
{
int n,m;
double R[128][256];
FILE *pfile = NULL;
pfile = fopen ("myfile.ppm", "w"); //create new file//
fprintf(pfile, "%s\n%d %d\nNorman Norm\n%d\n", magic, width, height, MAX);
for (n=0; n<128; n++)
{ //print header for outpute file//
for (m=0; m<256; m++)
fprintf (pfile, "%d", R[n][m]); //print grid into output file//
fprintf (pfile, "\n");
}
fclose(pfile); //close output file//
return 0;
}
}
谢谢 :)