Некорректное чтение с файла
Помогите исправить проблему или посоветуйте как лучше сделать. В файле записано вот это:
Test marka 1 Ukraine 2014 23 color cool
Test marka 2 Russia 1986 43 rare
Вот чтение с файла и вывод на экран

fscanf(read,"%s %s %d %d %s\n",&info[i].name,&info[i].country,&info[i].year,&info[i].cost,&info[i].feat);
printf("Info of mark num %d\n",i+1);
printf("Name: %s\n",info[i].name);
printf("Country: %s\n",info[i].country);
printf("Year: %d\n",info[i].year);
printf("Cost: %d\n",info[i].cost);
printf("Features: %s\n",info[i].feat);`
Ответы (1 шт):
Автор решения: Harry
→ Ссылка
Итак,
fscanf(read,"%s %s %d %d %s\n",&info[i].name,&info[i].country,&info[i].year,
&info[i].cost,&info[i].feat);
Строка Test marka 1 Ukraine 2014 23 color cool. Не знаю, какого типа у вас поля структуры, но даже если все верно (во что я не верю по вашей записи...), то считывается так
name Test
country marka
year 1
cost Ukraine (должно считываться число! Но это не число. Чтение завершено)
feat 2014 (уже не читается - из-за неверного чтения предыдущего поля)
Следующее чтение начинается с того места, где остановилось предыдущее -
name Ukraine
country 2014
year 23
cost color (опять не считывается - это не число!)
ну, и так далее...
Так что начинайте с написания правильного вызова fscanf...