很抱歉打扰你,但我已经坚持了太久了。我在 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,将其存储在数据矩阵中,标准化值并将它们写入新的二进制 pgm-image。