[英]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.