コードの何が問題になっていますか? ファイルから 1 行ずつ読み込み、0x"16 進数" の形式の数値を整数に変換しようとしています。1行だけ返して終了します。私の入力は次のようなものです
0x9C40
0x3B9AC9FF
0x754893gf
0x754893gf
0x754893gf
0x754893gf
#include <stdio.h>
#include <stdlib.h>
#include <stdio.h>
#define MAXCHAR 1000
int main() {
FILE *fp;
char str[MAXCHAR];
char* filename = "C:\\test.txt";
int number;
fp = fopen(filename, "r");
if (fp == NULL){
printf("Could not open file %s",filename);
return 1;
}
while (fgets(str, MAXCHAR, fp) != NULL)
number = (int)strtol(str, NULL, 0);
printf("%d\n", number);
fclose(fp);
return 0;
}