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.

I file di intestazione disponibili in C++ per le operazioni di input/output sono:
- iostream : iostream sta per flusso di input-output standard. Questo file di intestazione contiene le definizioni di oggetti come cin, cout, cerr, ecc.
- 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.
- 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.
- 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