| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Для новичков > Массив структур массивов |
| Автор: BlackJohnnie 26.4.2012, 04:48 | ||||
| Доброго всем утра! Сразу извиняюсь за, скорее всего, не рациональное решение проблемы но: 1) требуется создать массив, состоящий из структур, в которых некоторые типы - массивы. 2) требуется считать данные из файла и тупо скопировать их в другой файл с помощью fprintf(конечно, мне не нужно копировать файл, но на данном этапе нужно понять, почему код виснет при исполнении)
А этот код не виснет:
Разница только в том, тчо во втором случае нет индексов массивов в fscanf'е. Помогите, пожалуйста! Заранее спасибо! |
| Автор: disputant 26.4.2012, 06:56 | ||
Что-то мне подсказывает, что в функцию fscanf после форматной строки надо передавать адреса, куда класть данные...
А во втором случае, убрав индексы, вы передали адреса первых элементов массивов. Вот оно и заработало |
| Автор: BlackJohnnie 26.4.2012, 07:30 |
| Спасибо! Действительно, отправляя в scanf адресса, получаем работающий код. Но теперь другая проблма, уже по самому коду. В файл output программа сначала записывает верное предполагаемыое значение (для i=0 и k=0), а затем выводит два фиксированных значения для arr[i].Price[k] и для arr[i].Value[k], при этом нормально пробегая все возможные значения i и k. |
| Автор: disputant 26.4.2012, 09:16 |
| Гм, а что за файл вы ей подсовываете? Выходной файл должен по сути совпадать со входным, и у меня, когда я подсунул исправленной программе файл с 4000 парами значений по паре в строке, все прошло на ура... Может, у вас входной файл не совсем...? |
| Автор: BlackJohnnie 26.4.2012, 10:49 |
| Спасибо большое! Действительно проблема в файле: в каждой строке после двух десятичных значений находится ещё и некоторые символы. Ещё раз большое спасибо! Проблема, решена) |