Latest web development tutorials

C ++ Basic Input Output

biblioteca padrão C ++ fornece um rico conjunto de funções de entrada / saída, que serão descritos nos capítulos seguintes. Este capítulo discute a programação C ++, a operações de O mais básico e comum I /.

O C ++ I / O ocorre na corrente, a corrente é uma sequência de bytes. Se o fluxo de bytes está a fluir a partir do dispositivo (tal como um teclado, unidades de disco, ligações de rede, etc.) de memória, que é chamado aoperação de entrada.Se o fluxo de bytes que flui a partir dos dispositivos de memória (tais como monitores, impressoras, unidades de disco, conexões de rede, etc.), que é chamadoa operação de saída.

I arquivos de cabeçalho / S da biblioteca

Os seguintes arquivos de cabeçalho são importantes na programação C ++.

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

O fluxo de saída padrão (cout)

Predefinidocout objeto é uma instância da classe ostream.objeto cout está "conectado" ao dispositivo de saída padrão, geralmente a exibição.cout << operador é utilizado em conjunto com a inserção de fluxo como se segue:

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

Quando o código acima é compilado e executado, ele produz os seguintes resultados:

Value of str is : Hello C++

compilador C ++ com base no tipo de dados a ser variável de saída e selecione o operador de inserção de fluxo apropriada para exibir o valor. << Operador está sobrecarregado para a saída do tipo built-in (integer, float, double, string e ponteiro) itens.

operador de inserção de fluxo << pode ser usada várias vezes em comunicado, como mostrado nosexemplos acima, endl para o fim da linha de adicionar uma quebra de linha.

fluxo de entrada padrão (cin)

objetos predefinidoscin istreamé uma instância da classe. cin objeto é afiliado ao dispositivo de entrada padrão, normalmente o teclado. extraçãocin é operador de transmissão >> usados em combinação, como segue:

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

Quando o código acima é compilado e executado, ele solicita que o usuário digite um nome. Quando o usuário insere um valor e pressione a tecla Enter, você verá os seguintes resultados:

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

compilador C ++ com base no tipo de valor de entrada de dados, selecione o operador de extração de fluxo adequado para extrair valor e armazena em uma determinada variável.

Fluxo operador de extração >> pode ser usado várias vezes em um comunicado, se uma pluralidade de requisitos de entrada de dados, você pode usar a seguinte declaração:

cin >> name >> age;

Isto é equivalente às duas seguintes afirmações:

cin >> name;
cin >> age;

fluxo de erro padrão (cerr)

Predefinidocerr objeto ostreamé uma instância da classe. objeto cerr é afiliado ao dispositivo de erro padrão, geralmente a exibição, mas o objeto écerr não tamponada,e cada cerr fluxo é imediatamente inserido na saída.

cerr também transmitir operador de inserção << e usados em combinação, como se segue:

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

Quando o código acima é compilado e executado, ele produz os seguintes resultados:

Error message : Unable to read....

fluxo de log padrão (obstrução)

objetos predefinidosobstrução é uma instância da classe ostream.entupir objetos filiadas ao dispositivo de erro padrão, geralmente a exibição, mas o objeto é tamponadoobstrução.Isto significa que cada fluxo para a obstrução vai ser armazenado na memória tampão até que o tampão enche, ou apenas quando a memória intermédia de saída é descarregado.

tambémentupir o operador de inserção de fluxo << usados em combinação, como se segue:

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

Quando o código acima é compilado e executado, ele produz os seguintes resultados:

Error message : Unable to read....

Através destes pequenos exemplos, não podemos distinguir cout, cerr e entupir a diferença, mas na elaboração e implementação de grandes programas, a diferença entre eles se torna muito aparente. Então, boa prática de programação nos diz que utilize o fluxo cerr para exibir uma mensagem de erro, enquanto outros usam as mensagens de log entupir saída de fluxo.