|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
26.12.2017, 15:57 | #1 |
Регистрация: 26.12.2017
Сообщений: 6
|
Сохранение в файл символьных массивов.
Здравствуйте. Я всего месяц изучаю С++ и сейчас застряла на одной задачи. Пользователь вводит предложение(строку), программа будет предлагать пользователю ввести предложение за предложением, пока пользователь сам не захочет завершить ввод данных. Каждая введенная строка должна после ввода сохраняться в файл.txt. Так же после завершения ввода, пользователь может просмотреть нужную информацию из сохраненного файла.
(напоминает записную книжку) Я могу написать программу для ввода символьных массивов и сохранения. Но после того как пользователь заканчивает ввод и переходит в просмотру сохраненных данных, в моем файле сохранена только последняя введенная строка. Если нужны примеры моих жалких попыток, напишите, я отправлю. Первый раз обращаюсь в форум) Надеюсь на вашу помощь.(желательно с пояснением, как работает код.) Последний раз редактировалось Alistra; 26.12.2017 в 16:02. |
26.12.2017, 16:49 | #2 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
Все-таки ваш код очень помог бы телепатировать. А пока: либо вы переоткрывает файл для каждой строки без флага дозаписи, либо при вводе строк пишите их в один и тот же массив/...
|
26.12.2017, 18:03 | #3 |
Регистрация: 26.12.2017
Сообщений: 6
|
Спасибо,за ответ. Мне не нужно просто решение, мне нужно понять как оно работает и увидеть правильную логику. Я не студентка, а просто самоучка.
А пока писала код чтобы приложить к своему сообщению, сама нашла ошибку (не было уточнения для записи в файл: ios_base::app). Но вопрос остался прежний,только уровень не много поменялся. Теперь я пытаюсь сохранить в файл класс. Но сохраняется теперь только первый ввод, а остальные игнорирует. #include <iostream> #include <windows.h> #include <fstream> #include <iomanip> using namespace std; class Work{ private: char Name[15]; int Age; public: void SetData(){ cout<<"Введите ваше имя: "; cin.getline(Name,15); cin.ignore(); cout<<"Укажите возраст: "; cin>>Age; } void getData(){ cout<<setw(10)<<"Имя"<<setw(10)<<"\ tВозраст"<<endl; cout<<setw(10)<<Name<<setw(10)<<" "<<Age<<endl; } }; int main () { SetConsoleCP(1251); SetConsoleOutputCP(1251); cout<<"Программа для ввода имени и возраста, и сохранение данных\n"; int Exit=0; while(Exit == 0) { Work Obje1; Obje1.SetData(); Obje1.getData(); ofstream Save("Text.txt",ios_base::app); if(!Save.is_open()) { cout<<"\nФайл не открылся!\n"; } else { Save.write((char*)&Obje1, sizeof(Work)); } Save.close(); cout<<endl<<"\n----------------------"<<endl; cout<<"Для продолжения- 0, для выхода - 1\n"; cin>>Exit; cin.ignore(); } cout<<"Все сохраненно:\n"; ifstream Show("Text.txt"); if(!Show.is_open()) { cout<<"\nФайл не открылся!\n"; } else { Work Obje2; while(Show.read((char*)&Obje2, sizeof(Work))) { Obje2.getData(); } } Show.close(); return 0; } |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
сохранение в файл массивов | SAMOUCHKA | Общие вопросы по Java, Java SE, Kotlin | 0 | 27.10.2013 00:15 |
Обработка символьных массивов в delphi | Manya-srt | Помощь студентам | 0 | 09.11.2010 16:23 |
Обработка символьных массивов. Вывод кодовой таблицы. | Manya-srt | Помощь студентам | 0 | 08.11.2010 17:05 |
Разработка программ обработки символьных массивов | 3JIY4KA | Помощь студентам | 4 | 11.03.2008 23:22 |