Member 14795556 Ответов: 1

Как написать код, который берет информацию о нескольких пользователях из текстового поля и сохраняет ее в файле


я делаю систему воспроизведения музыки .я хочу знать, как я могу взять информацию о пользователях из текстового поля и сохранить ее в файле на c++.проблема в том, что я пишу код, но он принимает информацию об одном пользователе . я хочу написать код, который принимает информацию о нескольких пользователях

Что я уже пробовал:



частный:системный::пустота кнопки button1 _click(система::объект^ отправителя , класса System::EventArgs в^ е) {
StreamWriter^outfile=gcnew sreamWriter(text.txt");
Строка ^ Name =textbox1->текст;
Строка ^ Email =textbox3->текст;
Строка ^ пароль =textbox2->текст;
OutFile->Write(имя);
OutFile->Write(электронная почта);
OutFile->Write(пароль);
Выходной_файл-&ГТ;Кло();
это->скрыть();
MyForm4^obj4=gcnew MyForm4();
obj4->ShowDialog();
Система::пустота textbox2_TextChanged(система::объект^отправителя,класса System::EventArgs в^ е) {
textBox2->passwordChar ='*';
textBox2->MaxLength=15;

Richard MacCutchan

Просто создайте цикл, который повторяет приведенный выше код, или используйте кнопку, чтобы запустить его, когда пользователь добавляет дополнительную информацию и нажимает кнопку.

1 Ответов

Рейтинг:
1

Afzaal Ahmad Zeeshan

Проблема с вашим подходом заключается здесь, в StreamWriter (помимо структуры кода и отсутствующей цитаты и отсутствующего e в Close):

StreamWriter^outfile=gcnew sreamWriter(text.txt");
String ^ Name =textbox1->Text;
String ^ Email =textbox3->Text;
String ^ password =textbox2->Text;
OutFile->Write(Name);
OutFile->Write(Email);
OutFile->Write(Password);
OutFile->Clos();
Вы пишете, используя поток, который будет начинаться с индекса 0. Таким образом, это всегда будет перезаписывать содержимое вашего файла.

Я буду рекомендовать использовать File::WriteAllText() или File::AppendAllText() функции и записывают данные. Таким образом, данные, существующие в файле, не будут перезаписаны при записи следующего пакета сведений о пользователе.

Файл.Метод AppendAllText (System.IO) | Microsoft Docs[^]
Файл.Метод WriteAllText (System.IO) | Microsoft Docs[^]

Документация будет содержать код на языке C#, для этого вы можете использовать альтернативу C++. Это будет примерно эквивалентно этому:
String^ Name = textbox1->Text;
String^ Email = textbox3->Text;
String^ password = textbox2->Text;
File::AppendAllText("text.txt", Name + "," + Email + "," + password);
Пожалуйста, проверьте, могут ли конкатенации происходить таким образом.


Member 14795556

Я вас не понимаю.я хочу, чтобы вы написали код и отправили его мне .я пишу на языке С++, а не на языке Си

Richard MacCutchan

Этот сайт здесь не для того, чтобы делать вашу работу за вас. Если вы не можете сделать это сами, то вам нужно нанять программиста, чтобы сделать это.