|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
14.12.2011, 11:52 | #1 |
Пользователь
Регистрация: 05.12.2011
Сообщений: 40
|
Разбить строку на массив строк с помо*щью символа-разделителя
Здравствуйте, подскажите пожалуйста как разбить строку на массив строк с помощью символа-разделителя.
Обязательно с использованием функций заголовочного файла <string.h>. |
14.12.2011, 12:01 | #2 |
Пользователь
Регистрация: 16.01.2011
Сообщений: 21
|
Можно воспользоваться функцией стандартной библиотеки memcpy, например
|
14.12.2011, 12:03 | #3 |
Форумчанин
Регистрация: 12.02.2007
Сообщений: 360
|
Ммм... Проблема в чем? Строка это массив символов. Ищешь позицию символа разделителя, все элементы этой строки до разделителя копируем в массив и удаляем. И так до тех пор. пока строка не кончится? Или вам по операторам работы со строками подсказать?
|
14.12.2011, 12:54 | #4 |
Пользователь
Регистрация: 05.12.2011
Сообщений: 40
|
Подскажи как искать позицию символа разделителя?
|
14.12.2011, 13:28 | #6 |
Пользователь
Регистрация: 14.12.2011
Сообщений: 17
|
Мы с Капитаном в одной бригаде :
символ разделитель мы нашли, я не представляю, как в массив помещать по целому куску строки? или как создать n массивов? |
14.12.2011, 13:36 | #7 |
Software Developer
Участник клуба
Регистрация: 01.03.2011
Сообщений: 1,098
|
Ну, как вариант:
Сначала подсчитываете, сколько символов-разделителей есть в исходной строке, тем самым выясняя, какой размерности будет будущий массив; объявляете этот массив и в цикле в него записываете подстроки, отрезая их от исходной строки.
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв. Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062 |
14.12.2011, 13:38 | #8 |
Пользователь
Регистрация: 16.01.2011
Сообщений: 21
|
|
14.12.2011, 13:45 | #9 |
Пользователь
Регистрация: 14.12.2011
Сообщений: 17
|
Получается вот такой код, но вылетает с чудовищными ошибками
string a,b,c,d,e,f,h; int i,j,n; char w[1]; SetConsoleCP(1251); SetConsoleOutputCP(1251); //другие задачи cout << "Задача №7" << endl; cout << "Введите строку: "; getline (cin,a); cout << "Введите символ-разделитель: "; cin >> w[0]; n=0; for (i=0;i>=a.length()-1;i++) if (a[i]==w[0]) n++; string* mas = new string [n]; for (i=0;i>=a.length()-1;i++) if (a[i]!=w[0]) b=b+a[i]; else { mas[n] = b; b.erase(); n++; } cout << "Вывод построчно получившегося массива: " << endl; for(j=0;j>n-1;j++) cout << mas[j] <<endl; |
14.12.2011, 13:57 | #10 |
Старожил
Регистрация: 19.08.2009
Сообщений: 2,119
|
PotatoCaptain
как разбить строку на массив строк с помощью символа-разделителя strtok
А вы почему со мной не соглашаетесь, у вас что, импотенция? (c) ACE Valery
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Изменение символа разделителя | tsar_ | Общие вопросы Delphi | 7 | 31.03.2011 13:32 |
разбить строку | Ceprey | Общие вопросы C/C++ | 10 | 24.12.2009 20:47 |
Разбить строку в delphi | severin | Помощь студентам | 2 | 12.11.2009 12:03 |
C++: разбить строку на подстроки | apromix | Помощь студентам | 2 | 04.10.2009 01:07 |
Разбить строку на 2 части | 7KByte | Общие вопросы C/C++ | 6 | 31.05.2009 16:51 |