На этом шаге мы рассмотрим особенности реализации стандартного ввода.
Объект (экземпляр класса) cin управляет вводом из буфера, связанного объектом stdin, объявленным в файле stdio.h. По умолчанию стандартные потоки в языках С и C++ синхронизированы. При вводе используется часть тех функций и манипуляторов, которые определены для cout. Это такие манипуляторы, как dec, hex, oct, ws и др.
Ниже приведен пример программы с использованием объекта cin, результат работы программы - на рисунке 1.
// 96_1.cpp: главный файл проекта. #include "stdafx.h" #include <fstream> #include <iostream> #include <conio.h> #include <clocale> //обязательно для функции setlocale() using namespace System; using namespace std; void main() { setlocale(LC_ALL, "Russian"); //функция setlocale() с аргументами //для корректного вывода кириллицы int i; float f; char c; //ввод целого числа, числа с плавающей точкой и символа с stdin cout << "Задайте целое и вещественное число, а также символ >" << endl; cin >> i >> f >> c; //вывод i, f и с на stdout cout << "Результат: " << endl; cout << i << endl << f << endl << c << endl; char p[50]; cout << "Задайте строку >" << endl; //приказ на удаление из ввода всех начальных пробелов cin >> ws >> p; cout << "Результат: " << p << endl; cout << "Задайте еще строку >" << endl; //перемещение указателя на начало потока cin.seekg(0); //очистка потока cin.clear(); //приказ на удаление из ввода всех начальных пробелов cin >> ws; //чтение символов с stdin, пока не будет нажата клавиша <Enter> //или не будут прочтены 49 символов cin.getline(p,50); //вывод результата на stdout cout << "Результат: " << p << endl; _getch(); }
Рис.1. Результат работы приложения
Со следующего шага мы начнем рассматривать приложения Windows Forms.