Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/40: Рейтинг темы: голосов - 40, средняя оценка - 4.53
51 / 3 / 1
Регистрация: 02.06.2013
Сообщений: 162
Записей в блоге: 2

Как реализовать перенос строки по словам

27.04.2016, 14:16. Показов 7786. Ответов 6

Студворк — интернет-сервис помощи студентам
Доброго времени суток. Задачка у меня такая. Есть какой то текст, его нужно переформатировать таким образом, чтобы в каждой строке было не больше заданного количества символов. Разрывать слова при переносе на следующую строку нельзя, т.е. я полагаю если последнее слово в какой то строке заходит за грань введённого максимального значения длинны строки, то это слово перекидывается на след строку.
Помогите с реализацией этого форматирования.

Добавлено через 51 минуту
C++
1
char str[255]="последнее слово в какой то строке заходит за грань"
пусть макс длина строки 11
как сделать так чтобы после форматирования получилось так:
последнее
слово в
какой то
строке
заходит за
грань

Добавлено через 48 минут
string.insert мне в помощь?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.04.2016, 14:16
Ответы с готовыми решениями:

Перенос строки по словам в ячейке грида
Кто-нибудь,помогите пожалуйста с алгоритмом переноса строки по словам.Задача такая: нужно в ячейке грида,если ширина строки больше ширины...

Как в шаблоне Word реализовать перенос строки
Всем привет. Подскажите такой вопрос. Я использую шаблон документа ворд, и потом провожу замену нужных данных из программы в ворд ...

Как сделать перенос по словам в treeView
Как сделать treeview items многолинейными? Т.е. чтобы текст переносился...?

6
365 / 321 / 219
Регистрация: 21.02.2013
Сообщений: 756
27.04.2016, 15:27
Лучший ответ Сообщение было отмечено Dreeni как решение

Решение

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
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
    char str[255]="последнее слово в какой то строке заходит за грань";
    char temstr[23] ="";
    char * pch;
    const unsigned int max_size = 22;// 22 так как при кириллице размер в двое возрастает
    pch = strtok (str," ,.-");
 
      while (pch != NULL)
      {
 
        if((strlen(temstr) + strlen(pch) + 2) <= max_size)
        {
            strcat(temstr,pch);
            strcat(temstr," ");
        }
        else
        {
            cout << temstr << "\n";
            strcpy(temstr, "");
             strcat(temstr,pch);
             strcat(temstr," ");
        }
        pch = strtok (NULL, " ,.-");
      }
    cout << temstr << "\n";
 
 
    return 0;
}
2
51 / 3 / 1
Регистрация: 02.06.2013
Сообщений: 162
Записей в блоге: 2
28.04.2016, 14:53  [ТС]
jurok_85 огромное спасибо за помощь
0
51 / 3 / 1
Регистрация: 02.06.2013
Сообщений: 162
Записей в блоге: 2
29.05.2016, 21:15  [ТС]
Цитата Сообщение от jurok_85 Посмотреть сообщение
char * pch
а это что такое?

Добавлено через 4 часа 51 минуту
скажите, здесь +2 есть нулевые символы 2х массивов?
Цитата Сообщение от jurok_85 Посмотреть сообщение
C++
1
if((strlen(temstr) + strlen(pch) + 2) <= max_size)
и зачем нужна эта строка?
Цитата Сообщение от jurok_85 Посмотреть сообщение
C++
1
pch = strtok (NULL, " ,.-");
0
365 / 321 / 219
Регистрация: 21.02.2013
Сообщений: 756
31.05.2016, 12:20
C++
1
 if((strlen(temstr) + strlen(pch) + 2)
правильнее будет if((strlen(temstr) + strlen(pch) + 1), здесь я для пробела место оставлял.
Цитата Сообщение от Dreeni Посмотреть сообщение
pch = strtok (NULL, " ,.-");
вот тут почитай strtok
0
1 / 1 / 0
Регистрация: 28.09.2016
Сообщений: 20
06.03.2018, 20:05
Цитата Сообщение от jurok_85 Посмотреть сообщение
char temstr[23] ="";
зачем этот массив? и как он связан str?
0
365 / 321 / 219
Регистрация: 21.02.2013
Сообщений: 756
07.03.2018, 16:05
Цитата Сообщение от Katrin9999 Посмотреть сообщение
зачем этот массив? и как он связан str?
он никак не связан со str. Этот массив используется как временная строка в которую копируются фрагменты из str.
по идее лучше бы назвать tempstr (temporary string)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.03.2018, 16:05
Помогаю со студенческими работами здесь

Excel - Перенос по словам или автоподбор высоты после вне работают как нужно
Доброе время суток Не пойму, это глюк или это такая логика: Открываю Excel, выделяю строки, ставлю для них галку напротив...

Как реализовать поиск по ключевым словам по письмам (именно по содержимому)
Нашел реализацию поиска писем по ключевым словам через библиотеку imap, но эти реализации ищут только по заголовкам писем, а мне нужно...

Реализовать перенос строки
Можно ли во FP перевести строку при использовании OutTextXY? И можно ли вообще сделать перевод строки?

Реализовать перенос строки в TextBox
Здравствуйте, дали задание написать прогу для кассового аппарата. Надо информацию из нескольких textbox вывести в одно поле (ходя бы тот же...

Перенос по словам
Здрасьте. В общем-то, у меня есть необходимость засунуть огромное количество текста в пространство маленькой ширины. Для этого нужно, шоб...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru