У меня проблема с чтением двоичного файла в C, проблема в том, что когда я читаю файл, он не будет читать весь файл, но оставит некоторые данные из последнего ... код, используемый для чтения файла, выглядит какниже:
FILE *file;
unsigned long fileLen;
//Open file
file = fopen("ASELogo.png", "rb");
if (!file)
{
fprintf(stderr, "Unable to open file %s", name);
}
fseek(file, 0, SEEK_END);
fileLen=ftell(file);
fseek(file, 0, SEEK_SET);
buffer=(char *)malloc((fileLen+1)*sizeof(unsigned char));
fread(buffer, fileLen, 1, file);
for(int i = 0;i < fileLen;++i)
printf("%c", ((char *)buffer)[i]);
И при печати файла он не распечатает все содержимое файла ...
Фактическое содержимое файла:
âPNG