ご迷惑をおかけして申し訳ありませんが、もう長い間立ち往生しています。freadで次の警告が表示されます:「警告:「fread」の引数1を渡すと、キャストなしで整数からポインターが作成されます」
Cは初めてで、本当に気に入っていますが、これを乗り越えないでください。
前もって感謝します。
typedef unsigned char byte;
int main( int argc, char *argv[]){
FILE * filein;
filein = fopen(argv[1], "r" );
int width=10;
int height=10;
byte ** data;
// Allocation
data = (byte **) malloc(height*sizeof(byte *));
for(int i=0;i<height;i++){
data[i]=(byte *) malloc(width*sizeof(byte));
}
for(int i=0;i<height;i++){
for(int j=0;j<width;j++){
fread(data[i][j], sizeof(const char), 1, infile);
}
}
for(int i=0;i<height;i++){
free(data[i]);
}
free(data);
fclose(filein);
return 0;
exit(0);
}
これは実際のプログラムのほんの一部です。タスクは、バイナリpgm-imageを読み取り、それをdata-matrixに格納し、値を正規化して、新しいバイナリpgm-imageに書き込むことです。