Шаг 96.
Microsoft Visual C++ 2010. Язык С/С++.
Ввод и вывод в языках C и C++. Стандартный ввод cin

    На этом шаге мы рассмотрим особенности реализации стандартного ввода.

    Объект (экземпляр класса) 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.




Предыдущий шаг Содержание Следующий шаг