![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
fire64 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 97 Регистрация: 18.7.2007 Репутация: нет Всего: нет |
Написал такой текст для замены слов в тексте
если длина слов одинаковая, то все нормально, если разная то возникают проблемы дело в том что производится не замена одного слова другим, а запись одного поверх другого подскажите как реализовать именно замену |
|||
|
||||
zim22 |
|
|||
![]() depict1 ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2682 Регистрация: 15.1.2009 Где: Украина Репутация: 24 Всего: 69 |
на С++ есть std::string и метод replace |
|||
|
||||
fire64 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 97 Регистрация: 18.7.2007 Репутация: нет Всего: нет |
zim22, пробовал
не вышло
|
|||
|
||||
zim22 |
|
|||
![]() depict1 ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2682 Регистрация: 15.1.2009 Где: Украина Репутация: 24 Всего: 69 |
Это сообщение отредактировал(а) zim22 - 12.10.2009, 22:36 |
|||
|
||||
fire64 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 97 Регистрация: 18.7.2007 Репутация: нет Всего: нет |
хм все равно не работает
проблема в том что ReplaceCode не возвращает false даже после замены |
|||
|
||||
Dov |
|
|||
![]() аСинизатор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1721 Регистрация: 10.5.2003 Где: Эрец-Исраэль Репутация: 15 Всего: 88 |
Как-то так, вроде должно быть...
-------------------- Тут вечности запах томительный, И свежие фрукты дешевые, А климат у нас – изумительный, И только соседи – #уевые. Игорь Губерман. |
|||
|
||||
fire64 |
|
||||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 97 Регистрация: 18.7.2007 Репутация: нет Всего: нет |
Dov, при выполнении
происходит выход из программы я думал что это из-за недостаточного выделения памяти, но увеличение tmp, до 1024*100 не приводит к изменением, а 1024*1024 приводит к падению с ошибкой п.с. разобрался сделал так
и
Это сообщение отредактировал(а) fire64 - 13.10.2009, 14:08 |
||||||
|
|||||||
xvr |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
Проблема в том, что ReplaceCode делает этот replace в локальной переменной text и нигде больше. Переменная счастливо погибает при возврате из ReplaceCode, а вместе с ней и все результаты собственно работы самой процедуры Это сообщение отредактировал(а) xvr - 13.10.2009, 13:50 |
||||
|
|||||
fire64 |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 97 Регистрация: 18.7.2007 Репутация: нет Всего: нет |
xvr, точно
дописал после
вот только есть проблема fwrite( mapdata, strlen(mapdata), 1, wp ); добавляет в конце кучу мусора из-за mapdata = (char*) malloc (sizeof(char)*len * 2); |
||||
|
|||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
Не должно. fwrite пишет ровно столько, сколько есть в строке, а не столько, сколько было заказано через malloc. Либо в конце строки потерялся завершающий нуль (тогда strlen вернет неизвестно что), либо (если выходной файл бинарный) можно/нужно писать строку вместе с завершающим нулем (в fwrite подать strlen()+1) |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |