Auf Benutzereingabe warten: C-Sprache

Wait User Input C Language



In der Programmiersprache C gibt es einige Eingabefunktionen. Mit diesen Funktionen können wir auf Benutzereingaben warten. In diesem Tutorial werden wir die Eingabefunktionen im Detail besprechen.

Zeichenfolge formatieren

Formatstring ist das Format für eingegebene Daten. Dieses Format beginnt mit dem %-Zeichen, gefolgt von einem Formatbezeichner. Der Formatbezeichner ist ein spezifisches Zeichen, das für den gelesenen Datentyp verwendet wird.







arg1, arg2, arg3… sind die Adressen der Variablen, in denen die eingegebenen Daten gespeichert werden.



scanf() Funktion

Syntax: int scanf (Formatstring, arg1, arg2, arg3…)



Einige der häufig verwendeten Bezeichner sind wie folgt:





  • D – Wird für ganzzahlige Werte verwendet.
  • F – Wird für Gleitkommazahlen verwendet.
  • C – Wird für Einzelzeichenwert verwendet.
  • S – Wird für Saiten verwendet.

Single verwenden scanf() Funktion können eine oder mehrere Eingaben vom Benutzer übernommen werden.

Die scanf() Funktion nimmt Eingaben von der Standardeingabe (Tastatur) entgegen und speichert den Wert in einer Variablen. Die Funktion wartet auf die Benutzereingabe, bis der Benutzer die Eingabetaste drückt. Eingegebener Wert wird in einem Puffer gespeichert. Wenn die Eingabetaste gedrückt wird, scanf() Funktion beginnt zu lesen.



Beispiel 1: Integer-Eingabe

//Beispiel1.c
#enthalten

inthauptsächlich(){

intich;
druckenf ('Ersten ganzzahligen Wert eingeben: ');
scanf ('%D', &ich);
druckenf ('Sie haben eingegeben: %d ',ich);

druckenf ('Zweiten ganzzahligen Wert eingeben: ');
scanf ('%D', &ich);
druckenf ('Sie haben eingegeben: %d ',ich);

Rückkehr 0;
}

In Beispiel1.c haben wir das gesehen, als wir ganzzahlige Werte eingegeben und die Eingabetaste gedrückt haben. Die scanf() Die Funktion nimmt den Wert und speichert ihn in der Variablen. Wenn wir die Werte durch Leerzeichen getrennt eingeben, kehrt die Funktion zurück, wenn Leerzeichen gefunden wird, aber die Werte nach Leerzeichen bleiben im Eingabepuffer. Deshalb die zweite scanf() Die Funktion wartet nicht auf Benutzereingaben, sondern nimmt die Eingabe aus dem Puffer.

Beispiel 2: Einzelzeicheneingabe

//Beispiel2.c
#enthalten

inthauptsächlich(){

verkohlenC;
druckenf ('Zeichen eingeben: ');
scanf ('% C', &C);
druckenf ('Sie haben eingegeben: %c ',C);

Rückkehr 0;
}

In Beispiel2.c haben wir gesehen, dass bei Verwendung von % C Bezeichner, der scanf() Funktion nimmt nur ein Zeichen an, auch wenn wir mehr als ein Zeichen eingegeben haben.

Beispiel 3: Eingabe einzelner Zeichen (mehrmals)

//Beispiel3.c
#enthalten

inthauptsächlich(){

verkohlenC;
druckenf ('Erstes Zeichen eingeben: ');
scanf ('% C', &C);
druckenf ('Sie haben eingegeben: %c ',C);

druckenf ('Zweites Zeichen eingeben: ');
scanf ('% C', &C);
druckenf ('Sie haben eingegeben: %c ',C);

Rückkehr 0;
}

Beispiel 4 :

//Beispiel4.c
#enthalten

inthauptsächlich(){

verkohlenC;
druckenf ('Erstes Zeichen eingeben: ');
scanf ('% C', &C);
druckenf ('Sie haben eingegeben: %c ',C);

druckenf ('Zweites Zeichen eingeben: ');
scanf ('% C', &C);
druckenf ('Sie haben eingegeben: %c ',C);

Rückkehr 0;
}

Beispiel 5: String-Eingabe

//Beispiel5.c
#enthalten

inthauptsächlich(){

verkohlenName[fünfzehn];
druckenf ('Gib deinen Namen ein: ');
scanf ('%S',Name);
druckenf ('Sie haben eingegeben: %s ',Name);

Rückkehr 0;
}

getc()-Funktion

Syntax: int getc(DATEI *stream)

getc() Funktion wird verwendet, um ein Zeichen aus dem FILE-Zeiger (Stream) zu lesen. Um von der Tastatur zu lesen, müssen wir verwenden stdin . Diese Funktion gibt einen ganzzahligen Wert des gelesenen Zeichens zurück.

Beispiel 6:

//Beispiel6.c
#enthalten

inthauptsächlich(){

verkohlenC;
druckenf ('Erstes Zeichen eingeben: ');
während((C= getc (stdin))==' ');
druckenf ('Sie haben eingegeben: %c ',C);

während( getc (stdin)! =' ');

druckenf ('Zweites Zeichen eingeben: ');
während((C= getc (stdin))==' ');
druckenf ('Sie haben eingegeben: %c ',C);

Rückkehr 0;
}

getchar()-Funktion

Syntax: int getchar(void)

getchar() Funktion ist die gleiche wie getc() . Der einzige Unterschied ist das getc() Funktion kann aus jedem Eingabestream lesen, während getchar() Funktion liest nur von der Standardeingabe.

Beispiel 7:

//Beispiel7.c
#enthalten

inthauptsächlich(){

verkohlenC;
druckenf ('Erstes Zeichen eingeben: ');
während((C= getchar ())==' ');
druckenf ('Sie haben eingegeben: %c ',C);

während( getchar ()! =' ');

druckenf ('Zweites Zeichen eingeben: ');
während((C= getchar ())==' ');
druckenf ('Sie haben eingegeben: %c ',C);

Rückkehr 0;
}

Abschluss

In diesem Artikel haben wir gesehen, wie Eingabefunktionen in der Sprache C verwendet werden. Alle diese Funktionen werden aus dem Eingabepuffer übernommen und wenn wir diese Funktionen mehrmals verwenden, müssen wir den Puffer leeren. Andernfalls warten die Funktionen nicht auf Benutzereingaben und nehmen die Eingaben aus dem Puffer.