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

Ввод символов в массив - C++

Восстановить пароль Регистрация
 
Quadrillionaire
13 / 13 / 1
Регистрация: 09.03.2013
Сообщений: 180
13.05.2013, 15:54     Ввод символов в массив #1
Как ввести в массив 30 символов, которые будут вводить без пробелов и переносов строк, то есть строку вида:
123456789...n , нужно привести к виду:
char mass[35]
mass[all]={1}{2}{3}{4}{5}{6}{7}{8}{9}...{n}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.05.2013, 15:54     Ввод символов в массив
Посмотрите здесь:

Ввод-вывод символов C++
Ввод символов до точки С++ C++
C++ Запретить ввод символов
Ограниченный ввод символов C++
Ввод русских символов. C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
palva
 Аватар для palva
2372 / 1594 / 190
Регистрация: 08.06.2007
Сообщений: 6,362
Записей в блоге: 4
13.05.2013, 16:21     Ввод символов в массив #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <conio.h>
using namespace std;
int main() {
    int i;
    char c[35];
    cout << "Input here" << endl;
    for(i=0; i<30; i++) c[i] = getche();
    c[i]=0;
    cout << endl << c << endl;
    return 0;
}
Quadrillionaire
13 / 13 / 1
Регистрация: 09.03.2013
Сообщений: 180
13.05.2013, 16:43  [ТС]     Ввод символов в массив #3
Цитата Сообщение от palva Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <conio.h>
using namespace std;
int main() {
    int i;
    char c[35];
    cout << "Input here" << endl;
    for(i=0; i<30; i++) c[i] = getche();
    c[i]=0;
    cout << endl << c << endl;
    return 0;
}
а зачем с[i]=0; ?Она ведь не входит в цикл, тогда что она делает?
А через cin.get не получится?
palva
 Аватар для palva
2372 / 1594 / 190
Регистрация: 08.06.2007
Сообщений: 6,362
Записей в блоге: 4
13.05.2013, 16:48     Ввод символов в массив #4
Она ставит нулевой завершитель строки, чтобы строку можно было бы напечатать обычными операторами. Но можно ее не ставить. Тогда строку придется печатать так:
C++
1
2
3
cout << endl;
for (i=0; i<30; i++) cout << c[i];
cout << endl;
Quadrillionaire
13 / 13 / 1
Регистрация: 09.03.2013
Сообщений: 180
13.05.2013, 16:50  [ТС]     Ввод символов в массив #5
Цитата Сообщение от palva Посмотреть сообщение
Она ставит нулевой завершитель строки, чтобы строку можно было бы напечатать обычными операторами. Но можно ее не ставить. Тогда строку придется печатать так:
C++
1
2
3
cout << endl;
for (i=0; i<30; i++) cout << c[i];
cout << endl;
ок, спасибо)
palva
 Аватар для palva
2372 / 1594 / 190
Регистрация: 08.06.2007
Сообщений: 6,362
Записей в блоге: 4
13.05.2013, 17:19     Ввод символов в массив #6
Цитата Сообщение от Тельман Посмотреть сообщение
А через cin.get не получится?
cin.get начинает работать только после того, как вы введете строку на экран и нажмете Enter.
Это сделано для того, чтобы вы могли делать исправления во время ввода.
Консольный ввод не дает возможности перемещаться по строке и исправлять введенное. Каждая нажатая клавиша сразу попадает в программу. Насколько я понял вопрос, вам нужен именно консольный ввод.
Yandex
Объявления
13.05.2013, 17:19     Ввод символов в массив
Ответ Создать тему
Опции темы

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