我想用1A 98
阅读此符号(我无法复制,link to file.txt)
此文件长度为2个字节,其二进制转储为fgetc()
。
-1
无法阅读并返回for (int k = 0; k < fileSize; k++)
{
buffer[k] = (unsigned char) fgetc(f);
}
。请帮忙((
{{1}}
此符号的图片:
也许有字符编码的东西?
答案 0 :(得分:1)
您的文件包含0x1A
,这意味着在文本模式下打开文件时,EOF和读取将停止读取。
尝试以二进制模式打开文件。
这是一个测试代码:
#include <stdio.h>
int main(void) {
const char *fileName = "codeText.txt";
FILE* fp;
int input;
fp = fopen(fileName, "r");
if (fp==NULL) return 1;
puts("text mode:");
while((input = getc(fp)) != EOF) printf("%02X\n", (unsigned int)input);
fclose(fp);
fp = fopen(fileName, "rb");
if (fp == NULL) return 1;
puts("binary mode:");
while((input = getc(fp)) != EOF) printf("%02X\n", (unsigned int)input);
fclose(fp);
return 0;
}