Objekt cin v C ++ je objektem třídy istream. Používá se k přijetí vstupu ze standardního vstupního zařízení, tj. Klávesnice. Je spojen se standardním vstupním proudem C.
deklarace cin
extern istream cin;
Je definován v hlavičkovém souboru.
Je zajištěno, že objekt cin bude inicializován během nebo před prvním vytvořením objektu typu ios_base::Init
. Poté, co je objekt cin vytvořen, cin.tie()
vrátí, &cout
což znamená, že jakákoli formátovaná vstupní operace na cin
vynutí volání, cout.flush()
pokud nějaké znaky čekají na výstup.
Písmeno „c“ v cin odkazuje na „znak“ a „in“ znamená „vstup“, tedy cin
znamená „vstup znaků“.
cin
Objekt se používá spolu s provozovatelem extrakce (>>) s cílem získat proud znaků. Obecná syntaxe je:
cin >> varName;
Operátor extrakce lze použít více než jednou k přijetí více vstupů jako:
cin >> var1 >> var2 >>… >> varN;
cin
Objekt může být také použit s jinými členské funkce, jako je například getline()
, read()
atd Některé běžně používané členské funkce jsou:
cin.get(char &ch):
Přečte vstupní znak a uloží jej do ch.cin.getline(char *buffer, int length):
Přečte proud znaků do vyrovnávací paměti řetězců, zastaví se, kdyžit has read length-1 characters or
- když najde znak konce řádku (' n') nebo konec souboru.
cin.read(char *buffer, int n):
Přečte n bajtů (nebo do konce souboru) z datového proudu do vyrovnávací paměti.cin.ignore(int n):
Ignoruje dalších n znaků ze vstupního proudu.cin.eof():
Vrátí nenulovou hodnotu, pokud je dosaženo konce souboru (eof).
Příklad 1: cin s operátorem extrakce:
#include using namespace std; int main() ( int x, y, z; /* For single input */ cout <> x; /* For multiple inputs*/ cout <> y>> z; cout << "Sum = " << (x+y+z); return 0; )
Při spuštění programu bude možný výstup:
Zadejte číslo: 9 Zadejte 2 čísla: 1 5 Součet = 15
Příklad 2: cin s členskou funkcí:
#include using namespace std; int main() ( char name(20), address(20); cout << "Name: "; cin.getline(name, 20); cout << "Address: "; cin.getline(address, 20); cout << endl << "You entered " << endl; cout << "Name = " << name << endl; cout << "Address = " << address << endl; return 0; )
Při spuštění programu bude možný výstup:
Jméno: Adresa Sherlocka Holmese: Baker Street, Velká Británie Zadali jste Název = Adresa Sherlocka Holmese = Baker Street, Velká Británie