Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/13: Рейтинг темы: голосов - 13, средняя оценка - 5.00
4 / 4 / 1
Регистрация: 25.10.2012
Сообщений: 218
1

Функция strtok и занесение в массив

02.04.2015, 23:03. Показов 2502. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Пытаюсь с помощью этой функции разбить массив char на слова и каждое слово занести в отдельный элемент нового массива char.
Вроде функция работает нормально, но когда заношу в массив слова, заносятся только 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
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <fstream>
#include <string>
#include <cstring>
using namespace std;
 
int main()
{
    setlocale(0, "Russian");
    int BufTextSize=0,m=0;
    char Text[128], FileText[128];
    char BufText[20];
    cin.getline(Text, sizeof(Text), ';');
    char *p = NULL;
    p = strtok(Text, " ");
    while (p)
    {
        //cout << p << "\n";
        BufText[m] = *p; //заносит в массив только 1-ый символ слова, хотя нужно слово целиком.
        cout << BufText[m] << endl;
        m++;
        p = strtok(0, " ");
 
    }
P.S. Еще может кто подсказать, как можно преобразовать char в string? Просто через cin.get() считываю в char массив, а потом нужно в string перекинуть.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.04.2015, 23:03
Ответы с готовыми решениями:

Использование STRTOK Разбить строку на слова, из слов составить список C++ Функция strtok
Задача Дана строка слов с разделителями, в данном примере слова с пробелами Нужно, используя...

Функция strtok
Пытаюсь решить задачу из Дейтела, подсчитать количество вхождений каждого слова в предложение,...

Функция strtok()
Доброе время суток! Подскажите пожалуйста в чем проблема и как с ней бороться. Имеем такой...

Функция strtok();
Я занимаюсь по книге Дари &quot;PHP и MySQL.Создание-интернет магазина&quot; и уже целый день бьюсь над...

2
7789 / 6556 / 2984
Регистрация: 14.04.2014
Сообщений: 28,657
02.04.2015, 23:48 2
Так сделай:
C++
1
2
3
char *BufText[20];
 
BufText[m] = p;
0
lss
941 / 869 / 355
Регистрация: 10.10.2012
Сообщений: 2,706
02.04.2015, 23:55 3
Цитата Сообщение от xAndeRx Посмотреть сообщение
как можно преобразовать char в string? Просто через cin.get() считываю в char массив, а потом нужно в string перекинуть.
Один из конструкторов string:
From c-string: string (const char* s);
0
02.04.2015, 23:55
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.04.2015, 23:55
Помогаю со студенческими работами здесь

функция strtok()
Объясните, пожалуйста, функцию strtok()...то что непонятно - заккоментила ps=strtok(str, &quot; &quot;);...

Как работает функция strtok
Как работает функция strtok. #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;cstring&gt;...

Функция strtok. Предел использования?
Хотел помочь человеку: https://www.cyberforum.ru/c-beginners/thread1064311.html В результате...

Как работает функция strtok?
Закоментите пожалуйста char *mystrtok(char * buf, const char * delim) { static char * H,...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru