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

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

Войти
Регистрация
Восстановить пароль
 
gogaby
1 / 1 / 0
Регистрация: 15.11.2011
Сообщений: 28
#1

String в массив - C++

22.11.2011, 16:23. Просмотров 838. Ответов 5

Нужно из string слова разделенные пробелами занести в массив каждое слово отдельно.Нельзя использовать тип *сhar. Как это сделать и какой массив нужно создавать?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.11.2011, 16:23     String в массив
Посмотрите здесь:

C++ string и массив строк
динамический массив string C++
Присвоить string'y массив char C++
C++ массив string
C++ string массив
C++ Чтение из файла в массив string
Преобразовать string в массив char C++
Перевод элементов из string в массив char C++
Преобразовать string в массив byte[] C++
Как вписать string в массив? C++
Строка: создать string массив из 20 фамилии. C++
Преобразование из string в массив char C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
22.11.2011, 16:30     String в массив #2
можно создать вектор
а разделять через stringstream
gogaby
1 / 1 / 0
Регистрация: 15.11.2011
Сообщений: 28
22.11.2011, 16:34  [ТС]     String в массив #3
если можно, пожалуйста на примере, как работает и как использовать stringstream - нигде про него ничего не нашел((
-=ЮрА=-
Заблокирован
Автор FAQ
22.11.2011, 17:06     String в массив #4
Цитата Сообщение от gogaby Посмотреть сообщение
если можно, пожалуйста на примере, как работает и как использовать stringstream - нигде про него ничего не нашел((
http://www.cplusplus.com/reference/i.../stringstream/

Добавлено через 15 минут
gogaby, так и не увидел поняли вы или нет, вот простецкий код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <sstream>
#include <string>
using namespace std;
 
int main()
{
    string str;
    
    cout<<"Enter text : ";
    getline(cin,str);
    
    stringstream ss;
    ss<<str;
    while(ss>>str)
        cout<<str<<endl;
    system("pause");
    return 0;
}
Enter text : This is testing of algorithm

This
is
testing
of
algorithm
Для продолжения нажмите любую клавишу . . .


(на старых компиляторах после текста жмём Enter 2 раза подряд - это связано с испоьзованием getline(cin,str); - так можно считать строку с пробелами)
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
22.11.2011, 17:09     String в массив #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <string>
#include <sstream>
 
using namespace std;
 
// демонстрирует stringstream
int main()
{
    string s = "abcd 1 defg 2";
    istringstream iss;
    string tmp;
    int n1, n2;
    
    iss.str(s);
    if (iss >> tmp >> n1)
        cout << tmp << " " << n1 << endl;
    if (iss >> tmp >> n2)
        cout << tmp << " " << n2 << endl;
    return 0;
}
Код
[guest@localhost tests]$ .iso++ t.cpp -o t
[guest@localhost tests]$ ./t
abcd 1
defg 2
[guest@localhost tests]$
gogaby
1 / 1 / 0
Регистрация: 15.11.2011
Сообщений: 28
22.11.2011, 17:26  [ТС]     String в массив #6
пока писал ответ уже все разъяснили) все понял, спасибо большое!
Yandex
Объявления
22.11.2011, 17:26     String в массив
Ответ Создать тему
Опции темы

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