![]() |
|
Модераторы: bsa |
![]()
|
|
| Slyfox |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 62 Регистрация: 15.11.2007 Репутация: нет Всего: нет |
В текстовый файл нужно вводить ФИО (fio) и зарплату (zarplata)
записываю построчно, т.е. 1-ая строка fio, 2-ая - zarplata, 3-я опять fio, 4-я сново zarplata........и так сколько нужно. ofstream outfile("test.txt"); for (int g=0;g<9;g++) outfile << "Familia Imia Otchestvo\n3456\n"; outfile.close(); Потом напишу нормальный ввод пользователем с клавиатуры. Не получается считывать в массив из файла. Помогите. Знаю, чтобы считывать строки с пробелами до конца файла нужно использовать ifstream infile("test.txt"); while(!infile.eof()){ ............. infile.getline(.........................); ............. } удобнее наверно организовать структуру или класс. Покажите как нужно правильно считывать файл в массив, может несколько массивов чтобы я затем мог работать с числами отдельно. Заранее спасибо. P.S. с записью в текстовый файл думаю у меня проблем не должно быть, а вот считывание в массивы(или структуру или класс ------- мне хотя бы сделать двумя массивами) mas_fio и mas_zarplata - это проблема Это сообщение отредактировал(а) Slyfox - 10.12.2007, 09:50 |
|||
|
||||
| Slyfox |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 62 Регистрация: 15.11.2007 Репутация: нет Всего: нет |
Дайте хотя бы ссылку - т.е. почитать про вывод файлов в массивы
|
|||
|
||||
| _stranger_ |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 3.10.2006 Где: город-герой Киев Репутация: нет Всего: 2 |
как пример:
|
|||
|
||||
| bsa |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
Slyfox, делаешь структуру:
|
||||
|
|||||
| Slyfox |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 62 Регистрация: 15.11.2007 Репутация: нет Всего: нет |
не знаю почему, но не записывает в файл :( Помогите. Все дело в структуре как мне кажется - не пишется в файл. Вся надежда на ваш опыт. Visual C++6. |
|||
|
||||
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 6 Всего: 162 |
файл создаётся пустым? вообще не создаётся? |
|||
|
||||
| Slyfox |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 62 Регистрация: 15.11.2007 Репутация: нет Всего: нет |
не компилируется программа попробовал сделать вместо структуры - int nadezda[70]; - тоже не компилируется программа Добавлено через 1 минуту и 44 секунды Вот выдает c:\Program Files\Microsoft Visual Studio\MyProjects\sotrudnik\sotrudnik.cpp(41) : error C2374: 'i' : redefinition; multiple initialization c:\Program Files\Microsoft Visual Studio\MyProjects\sotrudnik\sotrudnik.cpp(32) : see declaration of 'i' |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
Slyfox, выкинь VC6 - он не соответствует стандарту. В твоем случае, он не позволяет сделать:
|
|||
|
||||
| Slyfox |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 62 Регистрация: 15.11.2007 Репутация: нет Всего: нет |
нельзя - реализация именно в этой среде попоытаюсь переменную вынести вынес --- пока все OK продолжаю играть с файлами дальше Предположение: наверное из-за не установленного к VS6 сервис пака 6 Счас обновлю и проверю на всякий по старому способу Это сообщение отредактировал(а) Slyfox - 11.12.2007, 00:24 |
||||
|
|||||
| zkv |
|
|||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: нет Всего: 92 |
я уже приучился немного кросс-студийный код писать:
работает в 6-м, 7-м и 8-м VC++, MS умудрились во все эти три версии разное поведение заложить насчет видимости переменных. Это сообщение отредактировал(а) zkv - 11.12.2007, 00:21 |
|||
|
||||
| Slyfox |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 62 Регистрация: 15.11.2007 Репутация: нет Всего: нет |
Что-то не так с char fio[21]; //Фамилия char dolznost[21]; // Должность т.е. при сохранении. Что я сделал не так и как надо? Не то сохраняет в файл особенно если есть пробелы. Помогите. |
|||
|
||||
| zkv |
|
|||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: нет Всего: 92 |
||||
|
||||
| Slyfox |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 62 Регистрация: 15.11.2007 Репутация: нет Всего: нет |
Ввожу везде 1 (единицы) В файле должно получится четыре штуки единиц В файле получается две штуки единиц в 2-х строках (вместо 4-х) Добавлено через 8 минут и 36 секунд Думаю, что gets можно убрать, а продолжать использовать cin --- т.е. есть установить какой-нидь флаг в нем, который можно установить и разрешить вводить с пробелами в переменные типа char[21], а потом установить опять флаг как было для чисел. Может это мне поможет? Знал бы еще какой флаг и как установить. Возможно вы знаете решение? Может есть другая функция? Это сообщение отредактировал(а) Slyfox - 11.12.2007, 01:41 |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
Slyfox, ты уверен, что у тебя записывается без пробелов, а не читается без пробелов?
operator>> - выполняет ввод слова, а не строки. Используй istream::getline() |
|||
|
||||
| Slyfox |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 62 Регистрация: 15.11.2007 Репутация: нет Всего: нет |
Как ею пользоваться? |
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |