Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 01.10.2016
Сообщений: 28
1

Как заменить значение в одной из строк txt документа

18.03.2019, 12:08. Показов 589. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть txt документ, в нем n строк. Нужно заменить значение в строке которое выбирает пользователь.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.03.2019, 12:08
Ответы с готовыми решениями:

Заменить 20 строк одной
Идея очень простая, ничего сложного нет. Но сам додуматься все равно не могу, за что очень...

Из файла 1.txt взять n первых и n последних строк, и сохранить их как файл 2.txt
Подскажите пожалуйста, как из файла 1.txt взять n первых и n последних строк, и сохранить их как...

Как из одного документа перенести значение из табличной части в реквизит другого документа?
Только начинаю осваивать 1С, учебная задача. Есть два документа "Индивидуальный заказ" и...

Поиск строк в одном txt-файле и добавление этих строк в другой txt-файл
Добрый день! Помогите, пожалуйста, разобраться. У меня лог файл, из которого мне нужно получить...

7
571 / 353 / 133
Регистрация: 15.09.2017
Сообщений: 1,239
18.03.2019, 12:31 2
Apocalypset, Открываете файл
Считываете его построчно
Выводите пользователю
Запрашиваете у пользователя что и на что поменять
Далее поиск этого слова в тексте и замена

Что именно не понятно?
0
0 / 0 / 0
Регистрация: 01.10.2016
Сообщений: 28
18.03.2019, 12:40  [ТС] 3
Всё. Уже который раз переписываю, а понять как сделать не могу.
0
571 / 353 / 133
Регистрация: 15.09.2017
Сообщений: 1,239
18.03.2019, 12:47 4
Цитата Сообщение от Apocalypset Посмотреть сообщение
Уже который раз переписываю
Ну показывайте ваш код, поможем
0
0 / 0 / 0
Регистрация: 01.10.2016
Сообщений: 28
18.03.2019, 12:56  [ТС] 5
Вместо замены, удаляет все слова в документе.
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
{
    std::ifstream zap;
    zap.open("D:\\toz.txt");
    std::string find, replace, stroka;
    std::cout << "vvedite stroku";
    std::cin >> stroka;
    std::cout << "Cho menyat \n";
    std::cin >> find;
    std::cout << "Na chto \n";
    std::cin >> replace;
    std::vector <std::string> Vec;
    int cnt = 0, sch = 0, i;
    for (i = 0; i < sch; i++)
        while (!zap.eof())
        {
            std::string tmp;
            zap >> tmp;
            if (tmp == find)
            {
                tmp = replace;
                ++cnt;
            }
            Vec.push_back(tmp);
        }
    std::ofstream ofs("D:\\toz.txt");
    for (std::vector<std::string>::const_iterator it = Vec.begin();
        it != Vec.end(); ++it)
        ofs << *it << ' ';
    std::cout << "Vse\n";
    ofs.close();
    zap.close();
    return 0;
}
0
571 / 353 / 133
Регистрация: 15.09.2017
Сообщений: 1,239
18.03.2019, 13:08 6
ну давайте по порядку:
Цитата Сообщение от Apocalypset Посмотреть сообщение
std::cin >> stroka;
Считает не строку, а слово до пробела, с
Цитата Сообщение от Apocalypset Посмотреть сообщение
zap >> tmp;
тоже самое.

Добавлено через 3 минуты
Apocalypset, а зачем while в цикле for? который при этом не выполняется т.к.
Цитата Сообщение от Apocalypset Посмотреть сообщение
sch = 0
0
0 / 0 / 0
Регистрация: 01.10.2016
Сообщений: 28
18.03.2019, 13:30  [ТС] 7
Теперь вместо замены в одной строке меняет во всём документе
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
{
    std::ifstream zap;
    zap.open("D:\\toz.txt");
    int stroka;
    std::string find, replace;
    std::cout << "vvedite stroku";
    std::cin >> stroka;
    std::cout << "Cho menyat \n";
    std::cin >> find;
    std::cout << "Na chto \n";
    std::cin >> replace;
    std::vector <std::string> Vec;
    int cnt = 0, i;
        while (!zap.eof())
        {
            std::string tmp;
            zap >> tmp;
            if (tmp == find)
            {
                tmp = replace;
                ++cnt;
            }
            Vec.push_back(tmp);
        }
    std::ofstream ofs("D:\\toz.txt");
    for (std::vector<std::string>::const_iterator it = Vec.begin();
        it != Vec.end(); ++it)
        ofs << *it << ' ';
    std::cout << "Vse\n";
    ofs.close();
    zap.close();
    return 0;
}
0
571 / 353 / 133
Регистрация: 15.09.2017
Сообщений: 1,239
18.03.2019, 13:52 8
Цитата Сообщение от Apocalypset Посмотреть сообщение
Теперь вместо замены в одной строке меняет во всём документе
Ну правильно, я же вам выше написал, что вы считываете файл не построчно, а по одному слову.
Попробуйте сами подумать как это реализовать и задайте корректный вопрос что именно вам не понятно.
Если вы хотите чтоб вам помогли, то сформулируйте четко вопрос.
Если вы хотите чтоб за вас сделали, то так и напишите, я тогда не буду тратить на вас время, т.к. мне это не интересно, может помогут другие.
0
18.03.2019, 13:52
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.03.2019, 13:52
Помогаю со студенческими работами здесь

Найти строки в txt файле и заменить их на значение из массива
Имеется заданный в php массив: $a=Array ('текст0', 'текст1', 'текст2', 'текст3', 'текст4'); ...

Заменить строку ComboBox одной из его же строк
Здравствуйте.Нужно по нажатию на кнопку в комбобоксе, текст заменить одним из записанных строк в...

Чтение из файла 'New.txt', запись четных строк в '1.txt', а нечетных в '2.txt'
В общем все работает, но есть &quot;НО&quot;, иначе бы не открывал тему. Содержимое исходного файла: 1 1 1...

Как удалить совпадения строк в txt файле (полная копия строк)
К примеру есть текст в обычном txt файлике: 11111 11111 22222 33333 33333 44444 55555


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Как работать с ветками (branch) в Git
InfoMaster 17.01.2025
Система контроля версий Git произвела революцию в процессе разработки программного обеспечения, предоставив разработчикам мощный инструмент для управления изменениями в коде. Одной из наиболее важных. . .
Как откатить последние коммиты в Git
InfoMaster 17.01.2025
Система контроля версий Git стала неотъемлемой частью современной разработки программного обеспечения, предоставляя разработчикам мощные инструменты для управления изменениями в коде. Одним из. . .
Что такое boilerplate и scaffold, чем они отличаются
InfoMaster 17.01.2025
В современном мире разработки программного обеспечения эффективность и скорость создания качественного кода играют crucial роль в успехе проектов. Разработчики постоянно ищут способы оптимизировать. . .
Чем отличаются ссылки и указатели в С++
InfoMaster 17.01.2025
В современном программировании на C++ эффективная работа с памятью является ключевым аспектом разработки качественного программного обеспечения. Указатели и ссылки представляют собой два. . .
В чем разница между PUT и POST
InfoMaster 17.01.2025
В современной веб-разработке правильное использование HTTP-методов играет ключевую роль в создании надежных и эффективных API-интерфейсов. Протокол HTTP прошел долгий путь развития с момента своего. . .
DTO, POCO и Value Object: что это такое, когда и как использовать
InfoMaster 17.01.2025
Введение в паттерны передачи данных В современной разработке программного обеспечения эффективное управление данными и их передача между различными слоями приложения являются ключевыми аспектами. . .
Что такое pull request в Git
InfoMaster 17.01.2025
В современной разработке программного обеспечения pull request в Git представляет собой ключевой механизм для эффективного взаимодействия между разработчиками при работе над общим кодом проекта. По. . .
Как вернуться к предыдущему коммиту в Git
InfoMaster 17.01.2025
Система контроля версий Git представляет собой мощный инструмент для управления изменениями в программном коде, который позволяет разработчикам эффективно отслеживать и контролировать историю. . .
Что такое паттерны программировани­я и проектирования
InfoMaster 17.01.2025
Роль паттернов в современной разработке программного обеспечения В современном мире разработки программного обеспечения паттерны проектирования стали неотъемлемой частью профессионального подхода. . .
Как добавить конструктор Яндекс Карт на сайт
InfoMaster 17.01.2025
Введение в API Яндекс Карт В современной веб-разработке интеграция картографических сервисов стала неотъемлемой частью многих проектов. API Яндекс Карт представляет собой мощный инструмент для. . .
Что такое javascript:void­­(0) и зачем это нужно
InfoMaster 17.01.2025
Когда вы сталкиваетесь с веб-разработкой, особенно с использованием JavaScript, одной из директив, которая часто встречается, является javascript:void(0). Это выражение вызывает интерес из-за своей. . .
Что такое оркестрация и хореография микросервисов
InfoMaster 17.01.2025
Введение в оркестрацию и хореографию микросервисов В современном мире разработки программного обеспечения микросервисная архитектура стала ключевым подходом к созданию масштабируемых и гибких. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru