Форум программистов, компьютерный форум, киберфорум
C++/CLI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/15: Рейтинг темы: голосов - 15, средняя оценка - 4.67
690 / 487 / 251
Регистрация: 10.06.2016
Сообщений: 2,318

Запись/чтение системной строки в текстовый файл

17.08.2018, 12:52. Показов 3123. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Прошу подсказать как записать/прочитать системную строку System::String ^st; в текстовый файл. Если можно коротенький код.

Добавлено через 1 час 8 минут
Разобрался благодаря книге Кульчина.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.08.2018, 12:52
Ответы с готовыми решениями:

Запись в файл и чтение с файла
Здравствуйте! Подскажите как дописывать в файл, сейчас вот так записываю: String^ fileName = "textfile.txt"; ...

Чтение\запись в файл по строчно.
Здраствуйте. У меня вознила следующая проблема: Записываем в textBox "reader" (допустим) -> нажимаем на button "Сохранить" и...

Запись структуры в файл и чтение оттуда
Имеется следующая структура: ref struct my_struct { int id; String^ name; String^ pass; double rez; } ...

8
690 / 487 / 251
Регистрация: 10.06.2016
Сообщений: 2,318
20.08.2018, 13:00  [ТС]
Нарушается кодировка при чтении строки из текстового файла. Что делать? Вот код и скриншоты.
C++
1
2
3
4
5
6
7
8
// считываем данные из файла
System::IO::StreamReader^ sr =
gcnew System::IO::StreamReader("d:\\tmp\\fio.txt");
st = sr->ReadLine();
st1 = sr->ReadLine();
textBox1->Text = st1;
textBox1->SelectionStart = textBox1->TextLength;
sr->Close();
Название: 1.jpg
Просмотров: 67

Размер: 2.5 Кб
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18259 / 14184 / 5366
Регистрация: 17.03.2014
Сообщений: 28,870
Записей в блоге: 1
20.08.2018, 14:00
slava_psk, при чтении текстовых файлов необходимо знать их кодировку и указывать её с помощью класса System::Text::Encoding. Если не указать кодировку, то .NET использует кодировку UTF-8. В данном случае наверное используется кодировка windows-1251
C++
1
2
3
4
// считываем данные из файла
System::IO::StreamReader^ sr =
gcnew System::IO::StreamReader("d:\\tmp\\fio.txt", Encoding::GetEncoding(1251));
...
1
690 / 487 / 251
Регистрация: 10.06.2016
Сообщений: 2,318
20.08.2018, 14:45  [ТС]
OwenGlendower, спасибо большое. Только надо было еще подключить пространство имен System::Text.
0
690 / 487 / 251
Регистрация: 10.06.2016
Сообщений: 2,318
27.08.2018, 15:39  [ТС]
OwenGlendower, теперь проблема с записью строки в текстовый файл, опять нарушается кодировка, как сделать правильно с нужной кодировкой. Вот код записи и что получается в итоге:
C++
1
2
3
4
5
6
7
8
9
10
11
//Запись файла
System::IO::FileInfo^fi = gcnew System::IO::FileInfo("d:\\tmp\\fio.txt");
// поток для записи
System::IO::StreamWriter^ sw = fi->AppendText();
for(k=0;k<i;k++)
{
    st=tab[k]+" "+fam[k]+" "+name[k]+" "+otch[k]+" "+god[k]+" "+pol[k]+"\n";
    sw->Write(st);
}
sw->Close(); // закрываем поток
}
Миниатюры
Запись/чтение системной строки в текстовый файл  
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18259 / 14184 / 5366
Регистрация: 17.03.2014
Сообщений: 28,870
Записей в блоге: 1
27.08.2018, 15:53
slava_psk, используй конструктор класса StreamWriter который позволяет указать кодировку и append режим
C++
1
System::IO::StreamWriter^ sw = gcnew System::IO::StreamWriter("d:\\tmp\\fio.txt", true, Encoding::GetEncoding(1251));
0
690 / 487 / 251
Регистрация: 10.06.2016
Сообщений: 2,318
27.08.2018, 16:09  [ТС]
OwenGlendower, почему то жалуется, когда вставляю этот вариант :
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18259 / 14184 / 5366
Регистрация: 17.03.2014
Сообщений: 28,870
Записей в блоге: 1
27.08.2018, 21:36
slava_psk, судя по ошибке ты вставил мою строку с объявлением sw и не удалил свою.
0
690 / 487 / 251
Регистрация: 10.06.2016
Сообщений: 2,318
28.08.2018, 10:29  [ТС]
OwenGlendower, да нет своя строка закомментирована. Вот полный фрагмент:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
                 //Сохранение перезапись
                 //Удаление файла
                 st="d:\\tmp\\fio.txt";
if (System::IO::FileInfo    // Если файл существует
(fpath->ToString() +fname->ToString()).Exists){   
    System::IO::File::Delete(st);
//Запись файла
//System::IO::FileInfo^fi = gcnew System::IO::FileInfo("d:\\tmp\\fio.txt");
System::IO::StreamWriter^ sw = gcnew System::IO::StreamWriter("d:\\tmp\\fio.txt", true, Encoding::GetEncoding(1251));
// поток для записи
System::IO::StreamWriter^ sw = fi->AppendText();
for(k=0;k<i;k++)
{
    st=tab[k]+" "+fam[k]+" "+name[k]+" "+otch[k]+" "+god[k]+" "+pol[k]+"\n";
    sw->Write(st);
}
sw->Close(); // закрываем поток
}
else // Если файл существует
                 MessageBox::Show("файл не найден");
Добавлено через 2 часа 6 минут
OwenGlendower, спасибо за помощь, разобрался с этой проблемой.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.08.2018, 10:29
Помогаю со студенческими работами здесь

Получение строки из TextBox и запись ее в текстовый файл
Здравствуйте! Работаю в Microsoft Visual Studio 2010. Создан проект Windows Forms - &quot;TestProject&quot;. На форме Form1 имеется текстовое...

Запись в текстовый файл из textBox'a
WinForms. C++ Не знаю уже что и делать. Где только я не искал... Как записать в текстовый файл текст из текстбокса? За...

Запись в текстовый файл по нажатию кнопки
Подскажите, как в MS Visual C++ для приложения Windows Forms сделать так, чтобы при нажатии кпонки, находящейся на форме, происходила...

Чтение и запись в файл c void
Добрый вечер! Хочу читать и писать строки при работе с .txt, с использованием подпрограмм (void). Написал простенький пример,...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
YAFU@home — распределённые вычисления для математики. На CPU
Programma_Boinc 20.01.2026
YAFU@home — распределённые вычисления для математики. На CPU YAFU@home — это BOINC-проект, который занимается факторизацией больших чисел и исследованием aliquot-последовательностей. Звучит. . .
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru