テキストファイルから16進数で読み込もうとしていますが、現在これが私が持っているものです
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);
}
数値に unsigned long long を使用しようとしましたが、FFFFFFFFFFFFFFFF のような 16 進数では失敗します。そのようなものを 0x....最大 64 ビットの 16 進数の形式で読み取ることができるはずです。
なぜこれが失敗するのですか?Size_t はナンセンスを出力し、unsinged long long は数値が大きすぎると失敗します。