Latest web development tutorials

C ++ Basic Input Output

biblioteca estándar de C ++ proporciona un rico conjunto de funciones de entrada / salida, que se describirán en los capítulos siguientes. Este capítulo trata de la programación C ++, la E / S haciendo más básico y común.

El C ++ de E / S se produce en la corriente, la corriente es una secuencia de bytes. Si el flujo de bytes está fluyendo desde el dispositivo (tal como un teclado, unidades de disco, las conexiones de red, etc.) de memoria, que se llama laoperación de entrada.Si el flujo de bytes que fluye de los dispositivos de memoria (tales como monitores, impresoras, unidades de disco, conexiones de red, etc.), que se llamala operación de salida.

I archivos de cabecera de E / S de la biblioteca

Los siguientes archivos de cabecera son importantes en la programación C ++.

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

El flujo de salida estándar (cout)

Cout predefinido objeto es una instancia de la clase ostream.objeto cout está "conectado" al dispositivo de salida estándar, por lo general la pantalla.cout << operador se utiliza en conjunción con la inserción corriente como sigue:

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

Cuando el código se compila y ejecuta, produce los siguientes resultados:

Value of str is : Hello C++

compilador de C ++ basado en el tipo de datos que se van variable de salida y seleccionar el operador de inserción corriente apropiada para visualizar el valor. << Operador está sobrecargado a la salida del tipo incorporado (entero, flotante, doble, de cadena, y el puntero) artículos.

<< operador de inserción corriente se puede utilizar varias veces en una declaración, como se muestra en losejemplos anteriores, endl para el final de la línea para añadir un salto de línea.

flujo de entrada estándar (cin)

objetos predefinidoscin istreames una instancia de la clase. objeto cin está afiliado al dispositivo de entrada estándar, por lo general el teclado. extraccióncin es el operador corriente >> se utiliza en combinación, como sigue:

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

Cuando el código se compila y ejecuta, se le solicita al usuario que introduzca un nombre. Cuando el usuario introduce un valor y pulse la tecla Intro, verá los siguientes resultados:

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

compilador de C ++ basado en el tipo de valor de entrada de datos, seleccionar el operador de extracción de flujo adecuada para extraer valor, y lo almacena en una variable dada.

Corriente del operador de extracción >> se puede utilizar varias veces en una declaración, si una pluralidad de requisitos de entrada de datos, puede utilizar la siguiente declaración:

cin >> name >> age;

Esto es equivalente a las dos afirmaciones siguientes:

cin >> name;
cin >> age;

flujo de error estándar (cerr)

Predefinidacerr objeto ostreames una instancia de la clase. objeto cerr está afiliado al dispositivo de error estándar, por lo general la pantalla, pero el objeto escerr no tamponada,y cada flujo cerr se inserta inmediatamente en la salida.

Tambiéncerr Tráfico operador de inserción << y se utiliza en combinación, de la siguiente manera:

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

Cuando el código se compila y ejecuta, produce los siguientes resultados:

Error message : Unable to read....

secuencia de registro estándar (obstrucción)

objetos predefinidosestorbo es una instancia de la clase ostream.obstruir los objetos afiliados al dispositivo de error estándar, por lo general la pantalla, pero el objeto se almacena temporalmenteestorbo.Esto significa que cada flujo en la obstrucción se almacenará en la memoria intermedia en la memoria intermedia hasta que se llena, o sólo cuando se vacía la memoria intermedia de salida.

tambiénobstruir el operador de inserción corriente << se utiliza en combinación, como sigue:

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

Cuando el código se compila y ejecuta, produce los siguientes resultados:

Error message : Unable to read....

A través de estos pequeños ejemplos, no podemos distinguir cout, cerr y obstruir la diferencia, pero en la preparación y ejecución de programas grandes, la diferencia entre ellos se hace muy evidente. Así que las buenas prácticas de programación nos dice que el uso corriente cerr para mostrar un mensaje de error, mientras que otros utilizan los mensajes de registro se obstruyen salida de la corriente.