Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Общие вопросы > Перевернуть слова |
Автор: BlastOff 24.5.2004, 13:55 |
Из RichEdit'a в буфер я считываю текст. Там слова, они разделены пробелами (от одного пробела до нескольких). А надо перевернуть слова. Желательно с использованием того же буфера. Вот никак не могу сообразить как это сделать. (Пример: abc de fgh => cba ed hgf) |
Автор: Anton Vatchenko 24.5.2004, 15:30 |
Только с этим буфером не получится. Тебе надо иметь хотя бы одну переменную, временную. А так, вообще, это делается так: делаешь буфер под слово, копируешь по одному слову в него. В нем вызываешь функцию strrev. Все! ![]() |
Автор: BlastOff 24.5.2004, 17:23 |
Я в Си не очень. Можно примерчик? ![]() Пока бу сам пробовать. |
Автор: Baa 24.5.2004, 17:46 | ||
Первое, что в голову пришло ![]()
|
Автор: Anton Vatchenko 24.5.2004, 18:09 |
Очень сложный пример для нешарящего человека... |
Автор: Sined 24.5.2004, 19:52 | ||
Внесу и свою лепту
|
Автор: BlastOff 25.5.2004, 13:48 | ||||
Всё равно спасибо! То, что нужно. На указателях, кстати, очень даже ничего - понятно. Одно уточнение: как сделать чтобы while реагировал на перенос строки? Я в while условие добавляю '\n', а он не хочет на него реагировать. На строку: '123'+10,13+'ab' получается что-то вроде: '|321'+13+'ba' Знак | - это и есть перенос строки код 10. Как исправить? |
Автор: setq 25.5.2004, 14:17 |
ты же говорил - "разделены пробелами"... задачу надо точно ставить. найди по листингу места проверки на ' ' и добавь проверку на '\n' удачи |
Автор: Stalk 25.5.2004, 14:40 |
Насколько мне известно, в RichEdit`е переход на новую строку осуществляется двумя символами: "\r\n". Так что прийдется еще поставить проверку на \r(13) Добавлено @ 14:42 Насколько мне известно, в RichEdit`е переход на новую строку осуществляется двумя символами: "\r\n". Так что прийдется еще поставить проверку на \r(13) [offtpoic]Блин, вот это глюги... Надо срочно менять прова...[/offtopic] |