我正在計算文件中的字符數並以十六進制顯示它們。 爲例:「A」以十六進制計算文件中的字符
「N」的情況下
5個實例「」
我不想輸出沒有在文件中appered,因此不字符我陣列。我想輸出文件中的實例。
我不知道如何打印,因爲我不希望輸出的「東西」的「0」情況已發生每個實例。
#include <stdio.h>
int main(int argc, char const *argv[]) {
int c;
FILE *f = fopen(argv[1], "r");
int totalchars[256] = { 0 };
while ((c = getc(f)) != EOF) {
if (totalchars[c] == 0)
totalchars[c] = 1;
else
totalchars[c]++;
} // while
for (int i = 0; i < 256; i++)
printf("%d instances of character %x\n", totalchars[i], c);
return 0;
}
我知道打印時,c是在文件的末尾,所以它會打印ffffffff。我不知道如何輸出我想要的內容。任何幫助表示讚賞
經常檢查(!= NULL)從'的fopen()',以保證手術成功 – user3629249
未被超越'argv的訪問返回值[0]'沒有檢查'argc'以保證命令行參數實際上進入。 – user3629249