Форум программистов, компьютерный форум CyberForum.ru

strtok - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 23, средняя оценка - 4.83
stratovarius
13 / 13 / 0
Регистрация: 12.07.2009
Сообщений: 114
20.04.2010, 22:59     strtok #1
Скажите, если ли функция, аналог strtok, для типа string?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.04.2010, 22:59     strtok
Посмотрите здесь:

strtok C++
C++ warning strtok
C++ strtok
C++ Двойной strtok
strtok C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
PointsEqual
ниначмуроФ
 Аватар для PointsEqual
832 / 516 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
20.04.2010, 23:46     strtok #2
можно привести строку string к примитивной строке:

C++
1
2
string s="qwerty";
s.c_str();
а потом уже применять функцию strtok();
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
21.04.2010, 04:33     strtok #3
string::substr
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
21.04.2010, 05:57     strtok #4
есть istringstream
когда из строки делается поток, к которому потом можно применять getline()
stratovarius
13 / 13 / 0
Регистрация: 12.07.2009
Сообщений: 114
21.04.2010, 07:42  [ТС]     strtok #5
ну а как, например, разбить строку "abc klh, sgr" на слова с резделителями " ,"?
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
21.04.2010, 08:56     strtok #6
по ходу через s.get() можно, то есть stringstream оставить, а getline() заменить на свою функцию, в которой метод get() считывает каждый символ и ищет его в списке разделителей, а само слово сохранять в string

Добавлено через 2 минуты
strtok() может ещё менять набор разделителей в процессе
stratovarius
13 / 13 / 0
Регистрация: 12.07.2009
Сообщений: 114
21.04.2010, 15:20  [ТС]     strtok #7
а на примере кода можете показать?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.04.2010, 10:22     strtok
Еще ссылки по теме:

Функция strtok() C++
C++ Strtok противоположность
Использование STRTOK Разбить строку на слова, из слов составить список C++ Функция strtok C++

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

Или воспользуйтесь поиском по форуму:
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
22.04.2010, 10:22     strtok #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
Yandex
Объявления
22.04.2010, 10:22     strtok
Ответ Создать тему
Опции темы

Текущее время: 03:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru