Latest web development tutorials

C ++ Basic Input Output

Стандартная библиотека C ++ предоставляет богатый набор функций ввода / вывода, мы будем описаны в последующих главах. В этой главе обсуждается программирование C ++, наиболее простой и часто операций ввода / вывода.

C ++ ввод / вывод происходит в потоке, поток представляет собой последовательность байтов. Если поток байтов течет из устройства (такие как клавиатура, дисководы, сетевые соединения и т.д.) памяти, которая называетсяоперация ввода.Если поток байтов , вытекающих из запоминающих устройств (таких как дисплеи, принтеры, дисковые накопители, сетевые соединения и т.д.), который называетсяоперация вывода.

I / O файлов библиотеки заголовка

Следующие файлы заголовков играют важную роль в программировании C ++.

头文件函数和描述
<iostream>该文件定义了cin、cout、cerrclog对象,分别对应于标准输入流、标准输出流、非缓冲标准错误流和缓冲标准错误流。
<iomanip>该文件通过所谓的参数化的流操纵器(比如setwsetprecision),来声明对执行标准化 I/O 有用的服务。
<fstream>该文件为用户控制的文件处理声明服务。我们将在文件和流的相关章节讨论它的细节。

Стандартный поток вывода (соиЬ)

Предопределенный объектсоиЬ является экземпляром класса ostream.Объект соиЬ «связан» со стандартным устройством вывода, обычно на дисплее.суд << оператор используется в сочетании со вставкой потока следующим образом :

#include <iostream>
 
using namespace std;
 
int main( )
{
   char str[] = "Hello C++";
 
   cout << "Value of str is : " << str << endl;
}

Когда приведенный выше код компилируется и выполняется, он дает следующие результаты:

Value of str is : Hello C++

Компилятор C ++ на основе типа данных, которые должны быть выходной переменной и выбрать соответствующий оператор вставки потока для отображения значения. << Оператор перегружен для вывода встроенного типа (целое, с плавающей точкой, двойной, строки, и указатель) элементов.

Вставка потока Оператор << можно использовать несколько раз в заявлении, как это показано в приведенных вышепримерах, епсИ на конец линии , чтобы добавить разрыв строки.

Стандартный входной поток (CIN)

Предопределенные объектыCIN IStreamявляется экземпляром класса. Объект CIN связан со стандартным устройством ввода, обычно клавиатурой. экстракцияКИН потоковый оператор >> используется в комбинации, следующим образом :

#include <iostream>
 
using namespace std;
 
int main( )
{
   char name[50];
 
   cout << "请输入您的名称: ";
   cin >> name;
   cout << "您的名称是: " << name << endl;
 
}

Когда приведенный выше код компилируется и выполняется, он предложит пользователю ввести имя. Когда пользователь вводит значение и нажмите клавишу Enter, вы увидите следующие результаты:

请输入您的名称: cplusplus
您的名称是: cplusplus

компилятор C ++, основываясь на типе значения входных данных, выберите соответствующий оператор извлечения потока для извлечения значения, и сохраняет его в данной переменной.

Поток оператор извлечения >> может быть использована несколько раз в заявлении, если множество требований входных данных, вы можете использовать следующее заявление:

cin >> name >> age;

Это эквивалентно следующим двум заявлениям:

cin >> name;
cin >> age;

Стандартный поток ошибок (сегг)

Предопределенный объектostream сеггявляется экземпляром класса. сегг объект связан со стандартным устройством ошибки, как правило , на дисплее, но объект не является буферномсегг, и каждый поток сегг немедленно вставляется в выходной.

сегг также поток вставки оператора << и используется в комбинации, следующим образом :

#include <iostream>
 
using namespace std;
 
int main( )
{
   char str[] = "Unable to read....";
 
   cerr << "Error message : " << str << endl;
}

Когда приведенный выше код компилируется и выполняется, он дает следующие результаты:

Error message : Unable to read....

Стандартный поток журнала (засорить)

Предварительно определенные объектызавалы является экземпляром класса ostream.засорить объекты , входящие в состав стандартного устройства ошибки, как правило , на дисплее, но объект буферномпомеху.Это означает, что каждый поток в помеху будут сохранены в буфере в, пока буфер не заполнится, или только тогда, когда выходной буфер сбрасывается.

такжезабивают оператора вставки поток << используемый в комбинации, следующим образом :

#include <iostream>
 
using namespace std;
 
int main( )
{
   char str[] = "Unable to read....";
 
   clog << "Error message : " << str << endl;
}

Когда приведенный выше код компилируется и выполняется, он дает следующие результаты:

Error message : Unable to read....

С помощью этих маленьких примеров, мы не можем отличить COUT, КВЖД и засорить разницу, но в процессе подготовки и реализации крупных программ, разница между ними становится весьма очевидной. Так что хорошая практика программирования говорит нам, что поток использование сегг для отображения сообщения об ошибке, в то время как другие используют сообщения журнала закупорить выходной поток.