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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.58
Ann Joker
 Аватар для Ann Joker
3 / 3 / 1
Регистрация: 05.10.2011
Сообщений: 86
30.09.2012, 21:02     Разделить строку на символы #1
Вводится какая то строка, нужно каждый символ разделить на отдельные элементы. Это можно сделать через char*, только не могу вспомнить как. Помогите примером.
Спасибо.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
30.09.2012, 21:09     Разделить строку на символы #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <cstdlib>
#include <windows.h>
using namespace std;
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
 
    cout << "Введите строку ";
    
    char str[255];
    cin.getline(str, 255);
    
    for (int i = 0; i < strlen(str); i++)
        cout << str[i] << " ";
    
    cout << endl;
    system("pause");
    return 0;
}
Ann Joker
 Аватар для Ann Joker
3 / 3 / 1
Регистрация: 05.10.2011
Сообщений: 86
30.09.2012, 21:16  [ТС]     Разделить строку на символы #3
alsav22, а как с cin-ом сделать?
David Sylva
 Аватар для David Sylva
1280 / 942 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
30.09.2012, 21:27     Разделить строку на символы #4
cin до пробела считывает, поэтому строку не получится считать.
Ann Joker
 Аватар для Ann Joker
3 / 3 / 1
Регистрация: 05.10.2011
Сообщений: 86
30.09.2012, 21:32  [ТС]     Разделить строку на символы #5
David Sylva, а если строка без пробелов, то как?
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
30.09.2012, 21:37     Разделить строку на символы #6
Цитата Сообщение от Ann Joker Посмотреть сообщение
alsav22, а как с cin-ом сделать?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <cstdlib>
#include <windows.h>
using namespace std;
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    
    cout << "Введите слово ";
    
    char str[255];
    cin >> str;
    
    for (int i = 0; i < strlen(str); i++)
        cout << str[i] << " ";
    
    cout << endl;
    system("pause");
    return 0;
}
Добавлено через 34 секунды
Цитата Сообщение от Ann Joker Посмотреть сообщение
David Sylva, а если строка без пробелов, то как?
Это уже слово а не строка.
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
30.09.2012, 21:50     Разделить строку на символы #7
посимвольное чтение
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
 
int main()
{
    std::cout << "Input string\n";
    char c;
    while(std::cin.get(c) && '\n' != c)
    {
        std::cout << c;
    }
    return 0;
}
Ann Joker
 Аватар для Ann Joker
3 / 3 / 1
Регистрация: 05.10.2011
Сообщений: 86
30.09.2012, 21:57  [ТС]     Разделить строку на символы #8
alsav22, простите за неточность.
заработало. спасибо большое.
вот только русская раскладка так и не входит, как исправить?
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
30.09.2012, 22:11     Разделить строку на символы #9
Цитата Сообщение от Ann Joker Посмотреть сообщение
alsav22, простите за неточность.
заработало. спасибо большое.
вот только русская раскладка так и не входит, как исправить?
В свойствах консоли выберите: Lucida console. Может и поможет.
Ann Joker
 Аватар для Ann Joker
3 / 3 / 1
Регистрация: 05.10.2011
Сообщений: 86
07.10.2012, 06:47  [ТС]     Разделить строку на символы #10
Цитата Сообщение от alsav22 Посмотреть сообщение
В свойствах консоли выберите: Lucida console. Может и поможет.
не сочтите за глупость, но понятия не имею, как изменять свойства консоли.
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
07.10.2012, 07:06     Разделить строку на символы #11
Цитата Сообщение от Ann Joker Посмотреть сообщение
не сочтите за глупость, но понятия не имею, как изменять свойства консоли.
Запускаете программу. У Вас откроется консольное окно (в котором будет написано: 'Input string'). Щелкаете правой кнопкой мыши на самой верхней полосе консольного окна (там где написано вроде: C:\Program Files\....xxx.exe). Выбираете 'свойства'. Далее вкладку 'шрифт'. Далее выбираете 'Lucida console'. Подтверждаете свой выбор (нажимая кнопку 'Ok').
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
07.10.2012, 07:08     Разделить строку на символы #12
Когда окно программы запустится, правой кнопкой мыши по верху окна. В меню выбрать" Свойства - Шрифт - Lucida console - ОК. В появившемся окошке выбрать: "Сохранить свойства для других окон с тем же именем" - ОК.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.10.2012, 22:33     Разделить строку на символы
Еще ссылки по теме:

C++ Как разделить повторяющийся символы?
C++ Разделить строку на слова
Разделить строку на массив C++

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

Или воспользуйтесь поиском по форуму:
Ann Joker
 Аватар для Ann Joker
3 / 3 / 1
Регистрация: 05.10.2011
Сообщений: 86
08.10.2012, 22:33  [ТС]     Разделить строку на символы #13
получилось!) спасибо.
Yandex
Объявления
08.10.2012, 22:33     Разделить строку на символы
Ответ Создать тему
Опции темы

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