Форум программистов, компьютерный форум, киберфорум
C++/CLI Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
2 / 2 / 0
Регистрация: 06.11.2020
Сообщений: 161

Как записать определённую строку из файла?

30.04.2021, 21:24. Показов 2486. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! подскажите, пожалуйста, может быть существует какой-то метод или способ, который позволяет вывести только, например , первую строку из файла в один textBox, а вторую в другой textBox?? буду благодарна, если покажете
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.04.2021, 21:24
Ответы с готовыми решениями:

Как считать определенную строку из txt файла?
Здравствуйте, у меня есть в папке с программой .txt файл, как мне считать в нем определенную строку? Например, NAME = 111 OST = 222 ...

Как записать в определенную строку файла
Как записать в определенную строку файла counter.txt допустим во вторую строку я записываю Почту и мне надо извлеч именно со второй...

Как записать через file_put_contents в определенную строку
Здравствуйте. Подскажите, как мне сделать запись в определенную строку в файл, при этом перезаписать эту строку, а остальные не трогать?...

8
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18267 / 14190 / 5368
Регистрация: 17.03.2014
Сообщений: 28,879
Записей в блоге: 1
01.05.2021, 09:44
Yana___, если в файле всего две строки, то просто читаем весь файл в массив (File::ReadAllLines) и заносим нужные элементы в textBox-ы.

Иначе читаем используя метод ReadLine класса StreamReader. И не забываем закрыть StreamReader.
0
2 / 2 / 0
Регистрация: 06.11.2020
Сообщений: 161
01.05.2021, 16:32  [ТС]
Цитата Сообщение от OwenGlendower Посмотреть сообщение
если в файле всего две строки, то просто читаем весь файл в массив (File::ReadAllLines) и заносим нужные элементы в textBox-ы
а если просто всю первую строку занести в один текст бокс , другую - в другой

Добавлено через 17 секунд
Цитата Сообщение от OwenGlendower Посмотреть сообщение
если в файле всего две строки, то просто читаем весь файл в массив (File::ReadAllLines) и заносим нужные элементы в textBox-ы
или я чего-то не поняла
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18267 / 14190 / 5368
Регистрация: 17.03.2014
Сообщений: 28,879
Записей в блоге: 1
01.05.2021, 16:39
Цитата Сообщение от Yana___ Посмотреть сообщение
а если просто всю первую строку занести в один текст бокс , другую - в другой
Читаем файл в масссив с помощью File::ReadAllLines. Каждый элемент массива соответствует строке из прочитанного файла. Первый элемент - первая строка, второй - вторая, и т.д. Занести первый элемент в один текст бокс, а другую в другой не составит труда.
0
2 / 2 / 0
Регистрация: 06.11.2020
Сообщений: 161
01.05.2021, 17:21  [ТС]
Цитата Сообщение от OwenGlendower Посмотреть сообщение
Читаем файл в масссив с помощью File::ReadAllLines. Каждый элемент массива соответствует строке из прочитанного файла. Первый элемент - первая строка, второй - вторая, и т.д. Занести первый элемент в один текст бокс, а другую в другой не составит труда.
вот у меня есть этот несчастный код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
        String^ FileName = "";
        textBox1->Text = "";
        textBox2->Text = "";
        if (openFileDialog1->ShowDialog() == Windows::Forms::DialogResult::OK) {
            FileName = openFileDialog1->FileName;
            textBox3->Text = openFileDialog1->FileName;
            lblAns->Text = "";
            lblAns2->Text = "";
 
        }
        //считывание из файла
        try {
            
            String^ array_str = File::ReadAllText(FileName);
            array_str = array_str->Trim();
            for (int i = 0; i < array_str->Length; i++) {
                if ((array_str[i] != ' ') && (array_str[i] != '0' && array_str[i] != '1' && array_str[i] != '2'
                    && array_str[i] != '3' && array_str[i] != '4' && array_str[i] != '5' && array_str[i] != '6'
                    && array_str[i] != '7' && array_str[i] != '8' && array_str[i] != '9' && array_str[i] != '-'))
                {
                    array_str = array_str->Remove(i, 1);
                    array_str = array_str->Insert(i, " ");
 
                    if (array_str[0] == ' ') {
 
                        array_str = array_str->Remove(0, 1);
 
                        i--;
                    }
                    if (i > 0)
                        i--;
                }
            }
 
            for (int i = 0; i < array_str->Length; i++) {
                if (array_str[0] == ' ') {
 
                    array_str = array_str->Remove(0, 1);
 
                    i--;
                }
            }
 
                array_str = Regex::Replace(array_str, " {2,}", " ");
                textBox1->Text = array_str;
                /*array<System::String^>^ arr = System::IO::File::ReadAllLines(FileName, System::Text::Encoding::Default);
                textBox1->Lines = arr;*/
 
        }
 
        
        
        catch (Exception^ e) {
            MessageBox::Show(this, "Файл не найден", "Ошибка", MessageBoxButtons::OK, MessageBoxIcon::Error);
        }
    }
я не понимаю, куда вставлять массив строк. у меня как бы весь файл переписывается в стоку
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18267 / 14190 / 5368
Регистрация: 17.03.2014
Сообщений: 28,879
Записей в блоге: 1
01.05.2021, 19:14
Лучший ответ Сообщение было отмечено Yana___ как решение

Решение

Yana___, ну элементарные же три строки
C++
1
2
3
array<System::String^>^ arr = System::IO::File::ReadAllLines(FileName);
textBox1->Text = arr[0];
textBox2->Text = arr[1];
1
2 / 2 / 0
Регистрация: 06.11.2020
Сообщений: 161
01.05.2021, 21:22  [ТС]
Цитата Сообщение от OwenGlendower Посмотреть сообщение
array<System::String^>^ arr = System::IO::File::ReadAllLines(FileName) ;
textBox1->Text = arr[0];
textBox2->Text = arr[1];
спасибо!! почему не работала, когда пробовала, видимо, что-то не так делала

Добавлено через 18 минут
Цитата Сообщение от OwenGlendower Посмотреть сообщение
array<System::String^>^ arr = System::IO::File::ReadAllLines(FileName) ;
textBox1->Text = arr[0];
textBox2->Text = arr[1];
но у меня не просходит никаких изменений в файле, т.е. буквы и лишние пробелы не убираются
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18267 / 14190 / 5368
Регистрация: 17.03.2014
Сообщений: 28,879
Записей в блоге: 1
01.05.2021, 21:39
Цитата Сообщение от Yana___ Посмотреть сообщение
но у меня не просходит никаких изменений в файле, т.е. буквы и лишние пробелы не убираются
Чтение тут ни при чем. Проверяйте остальной код.
0
2 / 2 / 0
Регистрация: 06.11.2020
Сообщений: 161
01.05.2021, 22:07  [ТС]
Цитата Сообщение от OwenGlendower Посмотреть сообщение
Чтение тут ни при чем. Проверяйте остальной код.
Если я вывожу массивы из файла в один textBox, то всё работает, нежели в два с помощью чтения. Может быть я не туда вставила кусок кода, который вы написали... но я перепробовала всё

Добавлено через 15 минут
Цитата Сообщение от Yana___ Посмотреть сообщение
array<System::String^>^ arr = System::IO::File::ReadAllLines(FileName) ;
textBox1->Text = arr[0];
textBox2->Text = arr[1];
я понимаю, что этот метод, так сказать, считывает файл, но все данные я же перебросила в строку
то есть мне надо работать либо со строкой, либо каким-то образом записать полученную строку-результат как файл. я просто не знаю...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.05.2021, 22:07
Помогаю со студенческими работами здесь

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

Как прочитать из файла определенную строку
есть файл C:\file.ini в нем такой текст lol lol lol Как прочитать 2 (вторую) строку?

Как получить определенную строку из файла?
Сабж!

Как прочитать определенную строку из файла?
Доброго времени суток. Проблема такая, надо мне прочитать 3 строку из файла. Как я это делаю: QFile...

Как считать определённую строку из файла
Помогите, пожалуйста, мне надо считать из текстового файла строку, сначала первую, потом вторую и т.д.Заранее спасибо.


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru