C ++ cin - C ++ standaardbibliotheek

Het cin-object in C ++ is een object van class istream. Het wordt gebruikt om de invoer van het standaard invoerapparaat, dwz het toetsenbord, te accepteren. Het wordt geassocieerd met de standaard C-invoerstroom stdin.

cin-verklaring

 externe istream cin;

Het wordt gedefinieerd in header-bestand "> header-bestand.

Het cin-object wordt gegarandeerd geïnitialiseerd tijdens of vóór de eerste keer dat een type object ios_base::Initwordt geconstrueerd. Nadat het cin-object is geconstrueerd, wordt cin.tie()geretourneerd, &coutwat betekent dat elke opgemaakte invoerbewerking cineen aanroep afdwingt cout.flush()als er tekens in afwachting zijn van uitvoer.

De "c" in cin verwijst naar "karakter" en "in" betekent "invoer", dus cinbetekent "tekeninvoer".

Het cinobject wordt samen met de extractie-operator (>>) gebruikt om een ​​stroom tekens te ontvangen. De algemene syntaxis is:

 cin >> varName;

De extractie-operator kan meerdere keren worden gebruikt om meerdere invoer te accepteren, zoals:

 cin >> var1 >> var2 >>… >> varN;

Het cinobject kan ook worden gebruikt met andere lidfuncties zoals getline(), read()etc. Voor de veelgebruikte lidfuncties zijn:

  • cin.get(char &ch): Leest een ingevoerd karakter en slaat het op in ch.
  • cin.getline(char *buffer, int length): Leest een stroom tekens in de tekenreeksbuffer. Het stopt wanneer
    • it has read length-1 characters or
    • wanneer het een teken aan het einde van de regel (' n') of het einde van het bestand vindt.
  • cin.read(char *buffer, int n): Leest n bytes (of tot het einde van het bestand) van de stream naar de buffer.
  • cin.ignore(int n): Negeert de volgende n tekens uit de invoerstroom.
  • cin.eof(): Geeft een niet-nulwaarde terug als het einde van het bestand (eof) is bereikt.

Voorbeeld 1: cin met extractie-operator:

 #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; )

Wanneer u het programma uitvoert, is een mogelijke uitvoer:

 Voer een getal in: 9 Voer 2 getallen in: 1 5 Som = 15

Voorbeeld 2: cin met ledenfunctie:

 #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; )

Wanneer u het programma uitvoert, is een mogelijke uitvoer:

 Naam: Sherlock Holmes Adres: Baker Street, VK U hebt ingevoerd Naam = Sherlock Holmes Adres = Baker Street, VK

Interessante artikelen...