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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 26, средняя оценка - 4.77
Alexoy
5 / 5 / 0
Регистрация: 07.07.2010
Сообщений: 80
#1

Разделить массив Char на слова - C++

10.08.2011, 23:53. Просмотров 3541. Ответов 3
Метки нет (Все метки)

Привет..
Вот есть массив символов:
C++
1
char buf[1024];
Немного далее в коде он печатается:
C++
1
printf(buf);
Получается в таком виде:

word1 word2 word3
word4 word5 word6 word7
...
word4


Мне нужно выделить из этого допустим word2. Изза ошибок изза конвертации типов никак не выходит.. то char в char*, то const char в char* и тд пишет не нравится. Помогите реализовать. Хорошо бы с последующей возможностью разделения того слова на составные части также по слогам только
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.08.2011, 23:53
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Разделить массив Char на слова (C++):

Строка: Строку разбить на слова и слова запихнуть в массив char. - C++
Вобщем пока нужно: 1) строку разбить на слова и слова запихнуть в масив char. но у меня почему то вообще не то записывает в масив, хоча...

Преобразование char в char* или разделить на две строки - C++
Пытаюсь сделать программу под linux. Возникла проблема, описанная в заголовке. Мне нужно разделить строку в char на две по символу ? либо...

Разделить строку AnsiString на слова и записать их в массив! - C++
Доброго времени суток, что не так? char lecs; for (i=0;i<1;i++) { String str = A.NameBook; char *pch; ...

Char массив, развернуть отдельные слова - C++
Здравствуйте, Подскажите пожалуйста, мне нужно в предложении все слова развернуть в обратном порядке, но следование данных слов должно...

Дан символьный массив, разделить его на слова по символу пробела - C++
Даны натуральное число n, символы s1, …, sn. Группы символов, разделенные пробелами (одним или несколькими) и не содержащие пробелов...

Запись первого слова из файла в массив char - C++
Нужно записать первое слово из каждой строки файла в массив char, цифры оно записывает нормально а вот слова не хочет записывать. Можете...

3
silentnuke
Android Programmer
139 / 140 / 5
Регистрация: 08.12.2010
Сообщений: 421
11.08.2011, 00:09 #2
вот вам пример как разбить строку на лексемы. а дальше делайте, то что вам нужно.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
 
using namespace std;
int main() {
    char delims[] = "., ?;!";
        char str[] = "I like apples, pears, and grapes. Do you?";
    char *tok;
    tok = strtok(str, delims);
    while(tok) {
        cout << tok << endl;
        tok  = strtok(NULL, delims);
    }
 
    return 0;
}
1
Сыроежка
Заблокирован
11.08.2011, 00:43 #3
Вы можете создать либо массив указателей char * и в нем хранить указатели на начало каждого слова, которые ищутся, как было показано в примере выше с помощью функции strtok, либо вы можете задать символьный двумерный массив char если заранее знаете максимальную длину отдельного слова в своем исходном буфере. Либо выделять память динамически и туда копировать найденное слово.
0
accept
4822 / 3243 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
11.08.2011, 02:57 #4
Цитата Сообщение от Alexoy
Немного далее в коде он печатается:
C++
1
printf(buf);
C
1
    printf("%s", buf);
всегда выводи так

Цитата Сообщение от Alexoy
Мне нужно выделить из этого допустим word2.
C
1
2
3
    char word[100];
 
    sscanf(buf, "%*s %s", word);
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.08.2011, 02:57
Привет! Вот еще темы с ответами:

Строку разбить на слова и слова запихнуть в масив char - C++
Вобщем пока нужно: 1) строку разбить на слова и слова запихнуть в масив char. но у меня почему то вообще не то записывает в масив, хоча...

функция возвращает массив слов, содержащихся в текстовом сообщении char* Words(char *s) - C++
Стоит такая задача: функция должна возвратить массив слов, содержащихся в текстовом сообщении char* Words(char *s) Как это можно...

Как перевести массив char[] в char* - C++
Не знаю как перевести массив char в переменную char*

Запись строки char в массив char - C++
Глупый вопрос, но что поделать, многое забыл... Хочу записть строку типа char в массив строк типа char, но выдает ошибку что &quot;невозможно...


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

Или воспользуйтесь поиском по форуму:
4
Yandex
Объявления
11.08.2011, 02:57
Ответ Создать тему
Опции темы

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