Я читаю некоторые данные из файла. Формат указан как
ASCII-текст в стиле UNIX
Концы строк, серия из 32 бит
целые числа со знаком в шестнадцатеричном формате.
1007 * например *
08000000
Я использую fscanf для чтения этих данных.
long data_size;
FILE *fp;
fp=fopen("test01.bin", "r"); // open for reading
if (fp==0) {cerr << "Error openeing file"<<endl; return 1;}
fscanf(fp, "%x", &data_size);
Все работает нормально с моим тестовым файлом, но я получаю предупреждение во время компиляции,
warning: format ‘%x’ expects type ‘unsigned int*’, but argument 3 has type ‘long int*’
однако шестнадцатеричное значение не имеет знака и приводится к большой дозе? Как долго займет самое значительное время, как уведомление о знаке? Или у меня возникнут проблемы? Или я в порядке в моем понимании?
Спасибо