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

Разделить строку на слова. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ двухмерный массив http://www.cyberforum.ru/cpp-beginners/thread98303.html
Не получается сделать что бы все 4 символа ходили по массиву рендом, если не трудно подскажите. #include <iostream> #include <iomanip> #include <cstdio> #include <cstdlib> void Flip(char& x,...
C++ использование assemblera в С++ Здравствуйте, господа программисты. С ассемблером раньше не сталкивался. Поэтому нужна помощь. В коде С++ нужно сделать ассемблеровскую вставку. В ней должно рассчитываться арифметическое выражение.... http://www.cyberforum.ru/cpp-beginners/thread98296.html
простой класс C++
покажите пожалуйста самую простою классу, корорый показывает "Hello World"
C++ ошибка компиляции в Borland C++ 3.1
Есть задание, сделать что то на подобии оконной библиотеки иль тип того...в общем класс по работе с окнами в консоли (можно создавать произвольные окна, закрывать их и т.п.). Делаем это пока в...
C++ Сортировка массива http://www.cyberforum.ru/cpp-beginners/thread98235.html
Здорова. Моя программа сортирует массив по диагоналям, то есть меняет местами элементы двух диагоналей квадратной матрицы. Ещё в задании есть пункт о том что не должны меняться местами максимальные...
C++ Определите наибольший общий делитель чисел Привет,всем!!!Я учусь в колледже информатики и мы только начали изучать Си и нам дали электронную контрольную работу,но когда я отправляю свои решения он говорит,что решено не правильно,поэтому прошу... подробнее

Показать сообщение отдельно
easybudda
Модератор
Эксперт CЭксперт С++
9625 / 5573 / 947
Регистрация: 25.07.2009
Сообщений: 10,708
23.02.2010, 15:05
Цитата Сообщение от mybabloo Посмотреть сообщение
В общем есть строка, и ее надо разбить на массив строк чтобы каждое слово было в ствоей строке.
C вариант
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
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
    
int main(void){
    char str[] = "blah blah blah", **words = NULL, *p = NULL;
    int i, cnt = 0;
    
    for ( p = strtok(str, " "); p != NULL; p = strtok(NULL, " ") ){
        if ( ( words = (char**)realloc(words, sizeof(char*) * (cnt + 1)) ) == NULL ){
            printf("No memory to new word!\n");
            exit(1);
        }
        if ( ( words[cnt] = strdup(p) ) == NULL ){
            printf("Can't duplicate word!\n");
            exit(1);
        }
        ++cnt;
    }
    
    printf("Words count: %d\n", cnt);
    
    for ( i = 0; i < cnt; ++i )
        printf("%s\n", words[i]);
        
    for ( i = 0; i < cnt; ++i ){
        if ( words[i] != NULL ){
            free(words[i]);
            words[i] = NULL;
        }
    }
    free(words);
    words = NULL;
    
    exit(0);
}
3
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru