皆さん、このコードを C で動作させようとしています。次のようなデータ ファイルがあります。
123 456 789 101 121 131 415....
それは画像のデータです。これらの数値は 256X128 のグリッドにあります。ネストされた for ループを使用してこれらの数値を読み込んで同じ方法で印刷しようとしていますが、出力ファイルに同じグリッドがあるべき場所は実際には次のとおりです。
-858993460-858993460-858993460-858993460-858993460-858993460-858993460-858993460...
私はプログラミングが初めてで、これはコードでの最初の試みの1つであるため、これを修正するためにコードで何を変更する必要があるかわかりません。明確でない場合は申し訳ありません
#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;
}
}
ありがとう :)