Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
koker007
16 / 19 / 1
Регистрация: 04.08.2015
Сообщений: 342
Завершенные тесты: 2
1

Как перезаписать участок текста в файле?

12.11.2016, 11:34. Просмотров 767. Ответов 3
Метки нет (Все метки)

Здравствуйте, не могли бы вы рассказать как можно перезаписать конкретное значение в файле?

Поиск значения у меня осуществляется так:
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
    char* begin_language = "_BEGIN LANGUAGE: ";//Ключевое слово для поиска
    string language;
 
            //считываются данные настроек
            string file_text_str;
            char file_text_char[10000];
            ifile_setup.read(file_text_char, 10000);
 
            //копирование в строку
            file_text_str = file_text_char;
 
            int position = 0;
            const int max_bufer_size = 20;
            char buffer[max_bufer_size];
 
            //Начало поиска значений из файла
            //Язык
            position = file_text_str.find(begin_language); //Сохранение позиции найденной фразы
            if (position == -1) {
                fprintf(stderr, "Error: not found _BEGIN LANGUAGE: from game_setup.txt\n");
                cout << '\a';
            }
            else {
                for (int i = 0; i < max_bufer_size && file_text_str[i + position + strlen(begin_language)] != '\n'; i++) {
                    language = language + file_text_str[i + position + strlen(begin_language)];
                }
                language = language + '\0';
            }
То есть длина фразы которую надо перезаписать известна: это начало от position + strlen(begin_language) до тех пор пока не будет \n Как перезаписать это значение если длина текста такая же как и раньше - понятно. Не понятно что делать если длина будет меньше или больше чем ранее. Ну на ум приходит только весь файл перезаписывать с новыми значениями, но правильно ли это? Имею в виду есть ли другое решение?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.11.2016, 11:34
Ответы с готовыми решениями:

Как заменить, перезаписать нужный мне байт в файле?
Здравия всем! В общем, дело такое, есть файл с 8 байтами, первый отвечает за...

Как создать в файле массив указателей фиксированной размерности на строки текста?
подскажите пожалуйста! есть работающая программа, но реализована она...

Как в среде VISUAL C++ 2008 осуществлять поиск текста в файле WORD ?
Здравствуйте ! Подскажите, пожалуйста, как в среде VISUAL C++ 2008...

Как перезаписать файл?
Использую потоки fstream, не могу найти информации о том, как перезаписать файл...

Участок B кода выполняется позже, чем участок A кода, но почему-то B влияет на работоспособность A! Почему?
Друзья! То есть суть такая, создаю объект и в конструктор передаю имя процесса...

3
nmcf
6405 / 5668 / 2580
Регистрация: 14.04.2014
Сообщений: 23,994
12.11.2016, 12:10 2
Лучший ответ Сообщение было отмечено koker007 как решение

Решение

Цитата Сообщение от koker007 Посмотреть сообщение
Ну на ум приходит только весь файл перезаписывать с новыми значениями, но правильно ли это?
Правильно.
1
koker007
16 / 19 / 1
Регистрация: 04.08.2015
Сообщений: 342
Завершенные тесты: 2
12.11.2016, 12:48  [ТС] 3
Цитата Сообщение от nmcf Посмотреть сообщение
Правильно.
То есть тут вообще без вариантов?
0
nmcf
6405 / 5668 / 2580
Регистрация: 14.04.2014
Сообщений: 23,994
12.11.2016, 13:15 4
Да.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.11.2016, 13:15

Как перезаписать ранее заполненный динамический массив?
Как перезаписать ранее заполненный динамический массив? Нужно сделать некую...

Что то в 14 строке не так?Как можно перезаписать?
Что то в 14 строке не так?Как можно перезаписать? #include&lt;iostream&gt;...

Как найти непрерывный участок элементов массива, сумма которых максимальна?
Нужно найти непрерывный участок массива из 10 элементов, сумма которых...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru