从文件中读取。 C

reading from a file . C

我想用fgetc()读取这个符号(我不能复制它,这里是link to file.txt

此文件长 2 个字节,其二进制转储为 1A 98

fgetc() 看不懂而且 return -1。请帮忙((

for (int k = 0; k < fileSize; k++)
{
    buffer[k] = (unsigned char) fgetc(f);
}

这个符号的图片:

也许有字符编码?

您的文件包含 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;
}