Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.95/21: Рейтинг темы: голосов - 21, средняя оценка - 4.95
1 / 1 / 0
Регистрация: 27.08.2019
Сообщений: 68

Разделить строку по словам и фразам

06.10.2020, 18:02. Показов 4820. Ответов 27

Студворк — интернет-сервис помощи студентам
Здравствуйте, мне нужно из строки, читаемая из файла, присвоенную в строковую переменную str, разделить по словам и фразам, разделенными точкой с запятой. Тяжело, наверное, для понимания, поэтому приведу пример:

"18.11.2021";"Второй Евразийский конгресс";"Конгресс";"Екатеринбург";"ООО Промомед";"31.08.2018";"ООО Промомед"

Вот такая строка. В файле полным полно подобных строк, поэтому у меня появилась идея использовать одномерный массив на 7 элементов, который каждый раз будет перезаписываться с чтением новой строки и под каждый элемент массива будет свой "элемент" строки, разделенный точкой с запятой.
Собственно вот вопрос: как мне разделить эту строчку и записать в элемент массива? Понятно, что лучше всего через цикл for, но как правильно составить условие (мне непонятен сам синтаксис), чтобы записать в элемент массива.
Извините за такую сумбурность и тавтологию, но я старался

P.S. Также, если не трудно, есть ли какой-то способ при выводе потом элементов массива убирать кавычки, а то мой перфекционизм меня душит.

Всем спасибо!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.10.2020, 18:02
Ответы с готовыми решениями:

Разделить текст по ключевым словам
Имеется переменная с текстом, перед некоторыми абзацами есть ключевые слова: ... текст1 текст2 текст3

Разделить текст на элементы по разделителю и записать их в 2 файла по ключевым словам
Здравствуйте,имеется текст: IOA14,IOC13,IOC12,IOB13,IOA13,IOB12,IOA12, IOC11,IOB11,IOA11,IOB10,IOA10,IOD9,IOD11, ...

Строка: можно ли прочесть строку по словам?
здравствуйте, подскажите пожалуйста можно ли прочесть с или с++ строку по словам ?

27
 Аватар для vantfiles
1018 / 1921 / 177
Регистрация: 07.05.2013
Сообщений: 3,931
Записей в блоге: 12
07.10.2020, 13:10
Студворк — интернет-сервис помощи студентам
подумать
0
07.10.2020, 13:12

Не по теме:

Ну что ж, подумай :)

0
07.10.2020, 13:23

Не по теме:


Больница. Идет врач, за ним санитар с топором. Подходят к больному. — Этому ампутация правой руки. — Вжик! Подходят к следующему: — Этому ампутация левой руки. — Вжик! Далее еще к одному: — Ампутация правой ноги. — Вжик! — Я сказал — правой! — Вжик! — Я сказал — ноги! — Вжик!

0
 Аватар для Annemesski
2691 / 1348 / 485
Регистрация: 08.11.2016
Сообщений: 3,739
07.10.2020, 13:32
Цитата Сообщение от Vourhey Посмотреть сообщение
Ну, замени c_str() на data() и будет счастье
data() тоже возвращает const char * наиболее прямой способ:
C++
1
2
3
4
5
6
7
std::string str = "My string";
char *tok = strtok(&str[0], " ");
while (tok != nullptr)
{
    std::cout << tok << std::endl;
    tok = strtok(nullptr, " ");
}
0
 Аватар для igorrr37
2898 / 2045 / 992
Регистрация: 21.12.2010
Сообщений: 3,793
Записей в блоге: 9
07.10.2020, 13:35
Цитата Сообщение от Annemesski Посмотреть сообщение
data() тоже возвращает const char *
с 20 стандарта, а до 11-го возвращала не нуль-терминированную строку
0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
07.10.2020, 13:38
Цитата Сообщение от Annemesski Посмотреть сообщение
data() тоже возвращает const char *
Не только. Читай документацию.
0
 Аватар для Annemesski
2691 / 1348 / 485
Регистрация: 08.11.2016
Сообщений: 3,739
07.10.2020, 14:11
igorrr37, Vourhey,
std::basic_string<CharT,Traits,Allocator >::data

const CharT* data() const; (until C++11)
const CharT* data() const noexcept; (since C++11) (until C++20)
constexpr const CharT* data() const noexcept; (since C++20)
CharT* data() noexcept; (since C++17) (until C++20)
constexpr CharT* data() noexcept; (since C++20)
то есть неконстантный указатель доступен с С++17, скажем, я все еще сижу на 11-ом а в нем data() не только константный указатель, но еще и не гарантируется нуль-терминатор, также как и &str[0].
0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
07.10.2020, 14:14
Цитата Сообщение от Annemesski Посмотреть сообщение
то есть неконстантный указатель доступен с С++17
Да.
Цитата Сообщение от Annemesski Посмотреть сообщение
я все еще сижу на 11-ом
Мне, честно говоря, плевать кто на чем сидит. Версии стандарта - это проблема автора темы, а не моя. Не вижу смысла здесь спорить, кому как нравится писать. Написал свой вариант - молодец, возьми пирожок с полки.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.10.2020, 14:14

Строку AnsiString разбить по словам и засунуть в массив
Есть строка: AnsiString s= &quot;Дед%Мазай%Любил%Больших%Девочек&quot;; как её можно разбить по словам и каждое слово записать в отдельную...

Строку AnsiString разбить по словам и засунуть в массив
Есть строка: AnsiString s= &quot;Дед%Мазай%Любил%Больших%Девочек&quot;; как её можно разбить по словам и каждое слово записать в отдельную...

Разбить строку по словам и создать из нее количественный словарь
Есть строка: a = 'When I was One I had just begun When I was Two I was nearly new' мне надо посчитать количество одинаковых слов в...

Необходимо разбить строку на слова и осуществить по этим словам поиск
Здравствуйте. Дана строка, которую нужно разбить на слова(разделяются пробелами и тире) и по этим словам осуществить поиск. С поиском...

По двум поисковым фразам выкинуло из поиска
Собственно сабж. По двум поисковым фразам выкинуло из поиска (ya) - в чём может быть причина? Причём выкинуло напрочь. Правдо перед...


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

Или воспользуйтесь поиском по форуму:
28
Ответ Создать тему
Новые блоги и статьи
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru