Obiekt cin w C ++ jest obiektem klasy istream. Służy do akceptacji wejścia ze standardowego urządzenia wejściowego, np. Klawiatury. Jest on powiązany ze standardowym wejściem strumienia C.
deklaracja cin
extern istream cin;
Jest zdefiniowany w pliku nagłówkowym "> plik nagłówkowy.
Zapewnia się, że obiekt cin zostanie zainicjowany podczas lub przed pierwszym ios_base::Init
konstruowaniem obiektu typu . Po skonstruowaniu obiektu cin funkcja cin.tie()
zwraca, &cout
co oznacza, że każda sformatowana operacja wejściowa cin
wymusza wywołanie, cout.flush()
jeśli jakieś znaki oczekują na wyjście.
Litera „c” w cin odnosi się do „znaku”, a „w” oznacza „wejście”, stąd cin
oznacza „wprowadzenie znaku”.
cin
Przedmiot jest stosowane wraz z operatorem ekstrakcji (>>), aby otrzymać strumień znaków. Ogólna składnia to:
cin >> varName;
Operator ekstrakcji może być użyty więcej niż jeden raz, aby zaakceptować wiele danych wejściowych, takich jak:
cin >> var1 >> var2 >>… >> varN;
cin
Obiekt może być również stosowany do innych funkcji składowych, takich jak getline()
, read()
itp Niektóre z powszechnie stosowanych funkcji składowych są następujące:
cin.get(char &ch):
Odczytuje znak wejściowy i zapisuje go w kan.cin.getline(char *buffer, int length):
Odczytuje strumień znaków do bufora ciągów, zatrzymuje się, gdyit has read length-1 characters or
- gdy znajdzie znak końca linii („ n”) lub koniec pliku.
cin.read(char *buffer, int n):
Odczytuje n bajtów (lub do końca pliku) ze strumienia do bufora.cin.ignore(int n):
Ignoruje kolejnych n znaków ze strumienia wejściowego.cin.eof():
Zwraca wartość różną od zera, jeśli osiągnięto koniec pliku (eof).
Przykład 1: cin z operatorem ekstrakcji:
#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; )
Po uruchomieniu programu możliwe wyjście to:
Wpisz liczbę: 9 Wprowadź 2 liczby: 1 5 Suma = 15
Przykład 2: cin z funkcją składową:
#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; )
Po uruchomieniu programu możliwe wyjście to:
Imię i nazwisko: Sherlock Holmes Adres: Baker Street, Wielka Brytania Wprowadzone imię i nazwisko = Sherlock Holmes Adres = Baker Street, Wielka Brytania