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

Почему strtok неправильно делит строку - C++

Восстановить пароль Регистрация
 
ozzy_b
2 / 2 / 0
Регистрация: 02.10.2012
Сообщений: 169
08.11.2012, 23:19     Почему strtok неправильно делит строку #1
Он должен делить по словах("делитель" - пробел) а он делит по-символьно.
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
#include <iostream>
#include <string.h>
#include <conio.h>
#include <stdio.h>
using namespace std;
void inp(char[]);
void tok(char[], int);
int main()
{
 char x[100];
 int max=0, min=0;
 inp(x);
 int size=strlen(x);
 tok(x, size);
 getch();
 return 0;
}
void inp(char x[])
{
    cout<<"Input string: ";
    gets(x);
    cout<<endl;
}
void tok(char x[], int size)
{
    char *X;
    X=strtok(x, " ");
    for(int i=0; i<size; i++)
        cout<<X[i];
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
BumerangSP
 Аватар для BumerangSP
4283 / 1405 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
08.11.2012, 23:31     Почему strtok неправильно делит строку #2
C++
1
2
 for(int i=0; i<strlen(X); i++)
        cout<<X[i];
ozzy_b
2 / 2 / 0
Регистрация: 02.10.2012
Сообщений: 169
08.11.2012, 23:36  [ТС]     Почему strtok неправильно делит строку #3
BumerangSP, оно так выводит токо первую букву, а надо всю строку, токо по словах.

Добавлено через 1 минуту
точнее не букву а слово
BumerangSP
 Аватар для BumerangSP
4283 / 1405 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
09.11.2012, 00:08     Почему strtok неправильно делит строку #4
ozzy_b, ну, да. Если все слова строки, то:
C++
1
2
3
4
5
6
7
 char *X;
    X=strtok(x, " ");
    do
    {
     cout<<X<<endl;
    }
    while (X=strtok(NULL," "));
Yandex
Объявления
09.11.2012, 00:08     Почему strtok неправильно делит строку
Ответ Создать тему
Опции темы

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