Заменить подстроку в строке, как?
От: m.victor  
Дата: 27.01.08 12:10
Оценка:
Скажите, пожалуйста, как?
Заранее огромное спасибо!!!

31.01.08 19:08: Перенесено модератором из 'Алгоритмы' — Кодт
Re: Заменить подстроку в строке, как?
От: deniok Россия  
Дата: 27.01.08 12:29
Оценка:
Здравствуйте, m.victor, Вы писали:

MV>Скажите, пожалуйста, как?

MV>Заранее огромное спасибо!!!

Алгоритм зависит от типа внутреннего представления строк — в виде массива или в виде списка. В первом случае также существенно — управляет ли массив своим размером сам или задача выделения памяти возложена на программиста.
Re[2]: Заменить подстроку в строке, как?
От: Аноним  
Дата: 27.01.08 12:51
Оценка:
Здравствуйте, deniok, Вы писали:

D>Здравствуйте, m.victor, Вы писали:


MV>>Скажите, пожалуйста, как?

MV>>Заранее огромное спасибо!!!

D>Алгоритм зависит от типа внутреннего представления строк — в виде массива или в виде списка. В первом случае также существенно — управляет ли массив своим размером сам или задача выделения памяти возложена на программиста.



Строка представления в виде символьного массива.
char s[100];

Может функция какая есть???
Re[3]: Заменить подстроку в строке, как?
От: deniok Россия  
Дата: 27.01.08 13:16
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Строка представления в виде символьного массива.

А>char s[100];

А>Может функция какая есть???


В <cstring> нету.
Re: Заменить подстроку в строке, как?
От: loknalori Россия  
Дата: 28.01.08 07:30
Оценка: :)
MV>Заранее огромное спасибо!!!

Студенты...
Re: Заменить подстроку в строке, как?
От: AleksandrN Россия  
Дата: 28.01.08 10:08
Оценка: :)
Здравствуйте, m.victor, Вы писали:

MV>Скажите, пожалуйста, как?

MV>Заранее огромное спасибо!!!

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

При всех этих манипуляциях нужно помнить про размер выделенной памяти и при необходимости, выделить дополнительную память.


Есть способ лучше:
Прочитать методичку.
Перестать прогуливать лекции и семинары по программированию.
Re: Заменить подстроку в строке, как?
От: Кодт Россия  
Дата: 31.01.08 17:10
Оценка:
Здравствуйте, m.victor, Вы писали:

MV>Скажите, пожалуйста, как?


Если хочется припахать стандартную библиотеку, то memmove() + strncpy().
memcpy() не подходит, потому что придётся двигать перекрывающиеся строки.

Чтобы сделать руками, нужно немнжко вкурить о том, как двигать хвост строки вперёд-назад. Подсказка: это два разных цикла.
... << RSDN@Home 1.2.0 alpha rev. 655>>
Перекуём баги на фичи!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.