русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Ввод строки с клавиатуры


Дата добавления: 2013-12-23; просмотров: 6963; Нарушение авторских прав


 

Самый простой способ прочитать в программу строку, вводимую с клавиатуры, заключается в использовании массива char и предложения cin. Приводимая ниже программа вводит строку, набираемую пользователем на клавиатуре:

 

// Использование cin для ввода строки с клавиатуры.

 

#include <iostream>

using namespace std;

 

int main()

{

char str [80];

cout << "Вводите строку: ";

//Чтение строки с помощью cin.

cin >> str; // ввод строки с клавиатуры

cout << "Вот ваша строка: " ;

cout << str;

return 0;

}

 

Пример прогона программы:

 

Вводите строку: Проверка

Вот ваша строка: Проверка

 

Хотя приведенная выше программа технически правильна, она не всегда будет работать так, как вы этого ожидаете. Для того, чтобы убедиться в этом, запустите программу и попробуйте ввести строку "Это новая проверка". Вот что получится:

 

Вводите строку: Это новая проверка

Вот ваша строка: Это

 

Когда программа повторяет на экране введенную вами строку, то вы видите только слово "Это", а не всю строку. Так происходит потому, что система ввода-вывода С++ прекращает ввод с клавиатуры при получении пробельного символа. Пробельные символы включают в себя пробелы, символы табуляции и символы новой строки.

Для решения проблемы пробельных символов вы должны использовать другую библиотечную функцию С++, gets(). Общая форма вызова функции gets( ) выглядит так:

 

gets(имя-массива);

 

Если вам нужно ввести в программу строку с клавиатуры, вызовите; функцию gets() с именем массива (без какого-либо индекса) в качестве аргумента. После возврата из gets() массив будет содержать строку, набранную на клавиатуре. Функция gets() вводит символы до тех пор, пока не встретится с символом возврата каретки. Для использования этой функции необходим заголовок <cstdio>.



Приводимый ниже вариант предыдущей программы использует функцию gets(), позволяющую вводить строки, содержащие пробелы.

 

// Использование gets() для ввода строки с клавиатуры.

 

#include <iostream>

#include <cstdio>

using namespace std;

 

int main() {

char str[80];

cout << "Вводите строку: ";

//Чтение строки с помощью gets()

gets(str); // ввод строки с помощью gets ()

cout << "Вот ваша строка: ";

cout << str;

return 0;

}

 

Пример прогона программы:

 

Вводите строку: Это строка проверки

Вот ваша строка: Это строка проверки

 

Теперь пробельные символы читаются и включаются в строку. Еще одно замечание: обратите внимание на то, что в предложении coutможно непосредственно использовать имя str. Вообще имя символьного массива, содержащего строку, можно использовать в любом месте, где допустимо применение символьной константы.

Не забывайте, что ни cin, ни gets() не выполняет проверку на выход за границы массива. Поэтому если пользователь введет строку, длина которой больше размера массива, то память за пределами массива будет затерта. Позже вы познакомитесь с альтернативой, которая помогает избежать этой неприятности.



<== предыдущая лекция | следующая лекция ==>
Основы техники строк | Пример обработки строк


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.003 сек.