Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.61/18: Рейтинг темы: голосов - 18, средняя оценка - 4.61
14 / 14 / 3
Регистрация: 12.07.2009
Сообщений: 114
1

strtok

20.04.2010, 22:59. Просмотров 3641. Ответов 7
Метки нет (Все метки)

Скажите, если ли функция, аналог strtok, для типа string?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.04.2010, 22:59
Ответы с готовыми решениями:

Использование STRTOK Разбить строку на слова, из слов составить список C++ Функция strtok
Задача Дана строка слов с разделителями, в данном примере слова с пробелами Нужно, используя...

strtok
Привет! Решаю задачку на строки char. Возникла проблема вот код: //vuravnivanie slov po levomy...

strtok
Почему так работает #include <stdafx.h> #include <conio.h> using namespace std; int main(){...

strtok
как с помощью функции strtok вывести последнее слово

7
ниначмуроФ
846 / 530 / 110
Регистрация: 12.10.2009
Сообщений: 1,915
20.04.2010, 23:46 2
можно привести строку string к примитивной строке:

C++
1
2
string s="qwerty";
s.c_str();
а потом уже применять функцию strtok();
0
3073 / 2394 / 255
Регистрация: 11.03.2009
Сообщений: 5,444
21.04.2010, 04:33 3
string::substr
0
4848 / 3269 / 466
Регистрация: 10.12.2008
Сообщений: 10,569
21.04.2010, 05:57 4
есть istringstream
когда из строки делается поток, к которому потом можно применять getline()
0
14 / 14 / 3
Регистрация: 12.07.2009
Сообщений: 114
21.04.2010, 07:42  [ТС] 5
ну а как, например, разбить строку "abc klh, sgr" на слова с резделителями " ,"?
0
4848 / 3269 / 466
Регистрация: 10.12.2008
Сообщений: 10,569
21.04.2010, 08:56 6
по ходу через s.get() можно, то есть stringstream оставить, а getline() заменить на свою функцию, в которой метод get() считывает каждый символ и ищет его в списке разделителей, а само слово сохранять в string

Добавлено через 2 минуты
strtok() может ещё менять набор разделителей в процессе
0
14 / 14 / 3
Регистрация: 12.07.2009
Сообщений: 114
21.04.2010, 15:20  [ТС] 7
а на примере кода можете показать?
0
4848 / 3269 / 466
Регистрация: 10.12.2008
Сообщений: 10,569
22.04.2010, 10:22 8
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
34
35
36
37
38
39
40
41
42
43
44
45
46
 
#include <iostream>
#include <string>
#include <sstream>
 
using namespace std;
 
int GetWord(string& s, string sep, istringstream& strm);
 
int main(void)
{
    string s = "abcd defg, abcd, defgh";
    string seps = " ";
    
    istringstream istr;
    string a;
    
    istr.str(s);
    
#if 0    
    while (istr >> a)
        cout << a << endl;
#endif
 
    while (GetWord(a, seps, istr) == 0)
        cout << " ."
             << a
             << ". "
             << a.length()
             << endl;
 
    return 0;
}
 
int GetWord(string& s, string sep, istringstream& strm)
{
    string tmp = "";
    char c;
    
    while (strm.get(c))
        cout << c << endl;
    
    return 1;
    
    return 0;
}
дальше поиск в string
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.04.2010, 10:22

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Двойной strtok
Всем привет! Возник такой вопрос. В ходе решения одной задачи, связанной с разбиением строки на...

функция strtok
расскажите алгоритм char str =&quot;- This, a sample string.&quot;; char * pch; printf (&quot;Splitting...

Strtok противоположность
Есть ли функция, противоположная strtok? Надо соединить две строки вида массивов char'ov в одну,...

warning strtok
Пишу в 10 студии: char* bla = strtok(&quot;bla bla bla&quot;, &quot; &quot;); Выдаёт варнинг: This function or...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.