我试图读取一个jpeg文件到char *缓冲区,以便我可以将文本缓冲区打印出来。我的问题是,我只是读第一行。这是我的代码:阅读jpeg文件char *缓冲区c
FILE* file = fopen(filePath, "r");
fseek(file, 0, SEEK_END);
unsigned long fileLen=ftell(file);
fseek(file, 0, SEEK_SET);
char* file_data;
file_data=(char *)malloc((fileLen+1)*sizeof(char));
while (!feof(file)) {
fread(file_data, fileLen, 1, file);
}
fclose(file);
printf("%s\n", file_data);
有什么想法?
他也应该以二进制模式('“RB”')来打开文件,除非他想字节为(看似)随机删除或更改了某些系统。 – 2015-02-11 19:24:43
那么我需要malloc吗? – CatLord 2015-02-11 19:26:54
@CatLord,你可以,但你不需要。如果你愿意,你可以一次只读一个字节。 – 2015-02-11 19:31:49