0
我在從命令行上指定的.log文件讀取十六進制數據時遇到問題。 它只打印約30行,然後退出。 任何人都可以幫助我理解爲什麼會發生這種情況?我需要它從輸入文件中打印所有的十六進制數據。從.log文件讀取十六進制數據時出錯
int byte;
FILE *Inputfile = stdin;
char *filename = argv[1];
Inputfile = fopen(filename, "r");
while((byte = fgetc(Inputfile)) != EOF)
{
printf(" %02x",byte);
}
fclose(Inputfile);
非常感謝,
編輯:輸入文件是.log文件看起來像這樣在十六進制編輯器: Input data
你能發佈你輸入的數據嗎?你應該檢查'fopen'返回。 – LPs
請在訪問'argv [1]'之前測試'argc'的值,並在調用'fgetc'之前測試'Inputfile'的值。 –
鏈接文件是你打開的真實文件嗎? – LPs