簡體   English   中英

從文件讀取。 C

[英]reading from a file . C

我想用fgetc()讀取這個符號(我不能復制它,這里鏈接到file.txt

該文件的長度為2字節,二進制轉儲為1A 98

fgetc()無法讀取它並返回-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;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM