Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > Нужна помощь


Автор: Гость_Sanya 21.5.2005, 11:38
Как найти пробел внутри текстовой переменной и разбить части переменной разделенные пробелом на другие переменные тоже текстовые например:"рврврп рвварв" разбить на "рврврп" и "рвварв". Кто может помогите чем можете.

Автор: Dreamer_0x01 21.5.2005, 15:55
А подробнее? Условия, ограничения, и вообще к чему?
Чем например вот так, по-простому не сделать?

Код


#define N 20
CString c1="word1 word2 word3 word N";
CString CS_ar[N];

unsigned char ar_counter=0;
unsigned char counter1=0;
CS_ar[0].Empty();

while(counter1<c1.GetLenth())
{
    if(c1.GetAt(counter1)==' '){ar_counter++;CS_ar[ar_counter].Empty();}
    else CS_ar[ar_counter]+=c1.GetAt(counter1);
}



Автор: kometa_triatlon 21.5.2005, 20:16
Классический пример использования strtok smile

Код

int numOfWords(char s[strSize])
{    
    int num=0;
    char *tokenPtr;
    tokenPtr=strtok(s," ");
    while (tokenPtr!=NULL)
    {
        num++;
        tokenPtr=strtok(NULL," ");
    }
    return num;
}


tokenPtr каждый раз будет содержать новую лексему. То есть, если добавить в цикл cout<<tokenPtr; то получишь отдельные слова.
Да, кстати. Второй параметр - символ, который определяет, чем разделены лексемы. В нашем случае - пробел, можно менять.

Автор: Dreamer_0x01 21.5.2005, 20:39
а что делает num?
только чтобы слова посчитать?

прикольно. Только счас в MSDN вычитал, что в strtok можно NULL пихать, я как-то обычно вообще игнорировал эту функцию, теперь буду знать.

Автор: kometa_triatlon 21.5.2005, 22:23
smile
Читайте Дейтела...

Автор: Dreamer_0x01 22.5.2005, 11:38
А что это за чтиво?

Если на русском, то ссылкой не поделишься?

Автор: kometa_triatlon 22.5.2005, 21:35
Приехали... Это же первая книга, которую берет в руки будущий программист на С++ smile
Кстати, просто супер книга, раздупляет не по-детски smile
Ссылкой не поделюсь, но в pdf у меня лежит. Все, заканчиваем оффтопик smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)