我想從一個文本文件,十六進制讀讀書,目前這是我十六進制
void hexReader(char* file, node* head){
FILE *fp;
char str[MAXCHAR];
size_t number = 0;
fp = fopen(file, "r");
if (fp == NULL){
printf("Could not open file %s",filename);
//return 1;
}
while (fgets(str, MAXCHAR, fp) != NULL) {
//while ((number = getline(&line, &len, fp)) != -1)
number = strtoull(str, NULL, 16);
if (number > 0){
printf("%size_t \n",number);
printf("%x \n",number);
}
}
fclose(fp);
}
我一直在使用無符號長長的數量嘗試,但它像FFFFFFFFFFFFFFF六角失敗。我應該能夠讀取這樣的內容,形式爲0x ....最多64位十六進制數。
這是爲什麼會失敗? Size_t打印出無意義,而未識別的long long因數量過大而失敗。
'的printf (「%size_t \ n」,數字);'似乎關閉,'%s'表示字符串。 –
而[這裏](http://stackoverflow.com/questions/2125845/platform-independent-size-t-format-specifiers-in-c)是一個問題,問'size_t'的格式說明符應該是什麼是。 –
@JoachimIsaksson我可以改變這一點,我仍然得到錯誤的東西。 –