logo

Input/output di base in C++

Il C++ viene fornito con librerie che ci forniscono molti modi per eseguire input e output. In C++ l'input e l'output vengono eseguiti sotto forma di una sequenza di byte o più comunemente nota come flussi .

  • Flusso di ingresso: Se la direzione del flusso di byte va dal dispositivo (ad esempio, tastiera) alla memoria principale, questo processo viene chiamato input.
  • Flusso di output: Se la direzione del flusso dei byte è opposta, cioè dalla memoria principale al dispositivo (schermo), questo processo viene chiamato output.

Input/output di base in C++



I file di intestazione disponibili in C++ per le operazioni di input/output sono:

  1. iostream : iostream sta per flusso di input-output standard. Questo file di intestazione contiene le definizioni di oggetti come cin, cout, cerr, ecc.
  2. iomanip : iomanip sta per manipolatori input-output. I metodi dichiarati in questi file vengono utilizzati per manipolare i flussi. Questo file contiene le definizioni di setw, setprecision, ecc.
  3. fstream : questo file di intestazione descrive principalmente il flusso di file. Questo file di intestazione viene utilizzato per gestire i dati letti da un file come input o i dati scritti nel file come output.
  4. bit/stdc++: Questo file di intestazione include ogni libreria standard. Nelle gare di programmazione, utilizzare questo file è una buona idea, quando si vuole ridurre il tempo sprecato nello svolgimento dei lavori domestici; soprattutto quando il tuo grado è sensibile al tempo. Per saperne di più su questo file di intestazione fare riferimento Questo articolo.

In C++ dopo i file header, spesso usiamo ' utilizzando lo spazio dei nomi std; ‘. Il motivo è che tutte le definizioni della libreria standard si trovano all'interno dello spazio dei nomi std. Poiché le funzioni della libreria non sono definite a livello globale, per utilizzarle utilizziamo spazio dei nomi std . Quindi non abbiamo bisogno di scrivere STD:: su ogni riga (es. STD::cout ecc.). Per saperne di più fare riferimento Questo articolo.

Le due istanze cout in C++ E cin in C++ della classe iostream vengono utilizzati molto spesso rispettivamente per stampare output e ricevere input. Questi due sono i metodi più basilari per ricevere input e stampare output in C++. Per utilizzare cin e cout in C++ è necessario includere il file header iostream nel programma.



In questo articolo vengono discussi principalmente gli oggetti definiti nel file di intestazione iostream come il cin e il cout.

  • Flusso di output standard (cout) : Di solito il dispositivo di output standard è lo schermo. Il C++ cout L'istruzione è l'istanza della classe ostream. Viene utilizzato per produrre output sul dispositivo di output standard che solitamente è lo schermo di visualizzazione. I dati necessari per essere visualizzati sullo schermo vengono inseriti nel flusso di output standard (cout) utilizzando l'operatore di inserimento( << ).

C++




intero da stringa in Java



#include> using> namespace> std;> int> main()> {> >char> sample[] =>'techcodeview.com'>;> >cout << sample <<>' - A computer science portal for geeks'>;> >return> 0;> }>

>

>

Produzione:

techcodeview.com - A computer science portal for geeks>

Complessità temporale: O(1)
Spazio ausiliario: O(1)

Nel programma precedente, l'operatore di inserimento( << ) inserisce il valore della variabile stringa campione seguito dalla stringa Un portale di informatica per geek nel flusso di output standard cout che verrà poi visualizzato sullo schermo.

  • flusso di input standard (cin) : Di solito il dispositivo di input in un computer è la tastiera. L'istruzione C++ cin è l'istanza della classe flusso e viene utilizzato per leggere l'input dal dispositivo di input standard che di solito è una tastiera.
    L'operatore di estrazione ( >> ) viene utilizzato insieme all'oggetto mangiare per la lettura degli ingressi. L'operatore di estrazione estrae i dati dall'oggetto mangiare che viene inserito utilizzando la tastiera.

C++




#include> using> namespace> std;> int> main()> {> >int> age;> >cout <<>'Enter your age:'>;> >cin>> età;> >cout <<>' Your age is: '> << age;> >return> 0;> }>

>

rendere eseguibile uno script di shell

>

Ingresso:

18>

Produzione:

Enter your age: Your age is: 18>

Complessità temporale: O(1)
Spazio ausiliario: O(1)

Il programma sopra chiede all'utente di inserire l'età. L'oggetto cin è connesso al dispositivo di input. L'età inserita dall'utente viene estratta da cin utilizzando l'operatore di estrazione( >> ) e i dati estratti vengono quindi archiviati nella variabile età presente sul lato destro dell'operatore aspirante.

  • Flusso di errori standard senza buffer (cerr) : Il cerr C++ è il flusso di errori standard utilizzato per restituire gli errori. Questa è anche un'istanza della classe iostream. Poiché cerr in C++ non è bufferizzato, viene utilizzato quando è necessario visualizzare immediatamente il messaggio di errore. Non dispone di alcun buffer per memorizzare il messaggio di errore e visualizzarlo in seguito.
  • La differenza principale tra cerr e cout arriva quando desideri reindirizzare l'output utilizzando cout che viene reindirizzato al file se usi cerr l'errore non viene memorizzato nel file. (Questo è ciò che significa non bufferizzato... Non può memorizzare il file Messaggio)

C++

scarica youtube con vlc




#include> using> namespace> std;> int> main()> {> >cerr <<>'An error occurred'>;> >return> 0;> }>

>

>

Produzione:

An error occurred>

Complessità temporale: O(1)
Spazio ausiliario: O(1)

  • flusso di errori standard bufferizzato (intasamento) : Anche questa è un'istanza della classe ostream e viene utilizzata per visualizzare gli errori ma, a differenza di cerr, l'errore viene prima inserito in un buffer e memorizzato nel buffer fino a quando non viene completamente riempito. oppure il buffer non viene svuotato esplicitamente (utilizzando flush()). Anche il messaggio di errore verrà visualizzato sullo schermo.

C++


java mvc



#include> using> namespace> std;> int> main()> {> >clog <<>'An error occurred'>;> >return> 0;> }>

>

>

Produzione:

An error occurred>

Complessità temporale: O(1)
Spazio ausiliario: O(1)

articoli Correlati :

  • cout << endl vs cout << in C++
  • Problema con scanf() quando dopo c'è fgets()/gets()/scanf()
  • Come utilizzare getline() in C++ quando sono presenti righe vuote nell'input?
  • Cin-Cout vs Scanf-Printf