Спасибо за ваше любезное внимание. У меня есть файл .dat как ниже формат:Сохраните целочисленное число и число с плавающей запятой из файла .dat на языке C
3 10.9
1 2.1
(empty line)
10 10.05
10 200
Для каждой строки, я хочу, чтобы сохранить первое число (целое число) в переменной а, и сохранить второе число с плавающей запятой в переменной
int c;
FILE *fp = fopen("supermarket.dat", "r");
while ((c = fgetc(fp)) != EOF) {
int var1;
float var2;
fscanf(fp, "%d%f", &var1, &var2);
printf("%d\n", var1);
printf("%f\n", var2);
}
Теперь моя программа не вызывает ошибки, но все данные неверны. В ЦМД:
10
0.900000
1
2.10000
10
10.050000
10
200.0000000
10
200.000000
Как вы можете видеть, некоторые данные не так, и это не печатали пустую строку как 0 0 правильный вывод должен быть:
3
10.9
1
2.1
0
0
10
10.05
10
200
Ваш цикл while не имеет смысла. –
Какова ошибка времени выполнения? – nicomp
Смешивание «% lf» и 'float' - это не рецепт для счастливой жизни. – kdopen