logo

C-Funktionen gets() und puts()

gets() und puts() werden in der Header-Datei stdio.h deklariert. Beide Funktionen sind an den Ein-/Ausgabeoperationen der Strings beteiligt.

C gets()-Funktion

Mit der Funktion gets() kann der Benutzer einige Zeichen eingeben und anschließend die Eingabetaste drücken. Alle vom Benutzer eingegebenen Zeichen werden in einem Zeichenarray gespeichert. Das Nullzeichen wird dem Array hinzugefügt, um daraus eine Zeichenfolge zu machen. Mit gets() kann der Benutzer durch Leerzeichen getrennte Zeichenfolgen eingeben. Es gibt die vom Benutzer eingegebene Zeichenfolge zurück.

Erklärung

 char[] gets(char[]); 

String mit gets() lesen

 #include void main () { char s[30]; printf('Enter the string? '); gets(s); printf('You entered %s',s); } 

Ausgabe

 Enter the string? javatpoint is the best You entered javatpoint is the best 

Die Verwendung der Funktion gets() ist riskant, da sie keine Array-gebundene Prüfung durchführt und die Zeichen so lange liest, bis die neue Zeile (Enter) gefunden wird. Es kommt zu einem Pufferüberlauf, der durch die Verwendung von fgets() vermieden werden kann. Die Funktion fgets() stellt sicher, dass nicht mehr als die maximale Zeichenanzahl gelesen wird. Betrachten Sie das folgende Beispiel.

 #include void main() { char str[20]; printf('Enter the string? '); fgets(str, 20, stdin); printf('%s', str); } 

Ausgabe

 Enter the string? javatpoint is the best website javatpoint is the b 

C puts()-Funktion

Die Funktion puts() ist der Funktion printf() sehr ähnlich. Die Funktion puts() wird verwendet, um die Zeichenfolge auf der Konsole auszugeben, die zuvor mit der Funktion gets() oder scanf() gelesen wurde. Die Funktion puts() gibt einen ganzzahligen Wert zurück, der die Anzahl der Zeichen darstellt, die auf der Konsole gedruckt werden. Da mit der Zeichenfolge ein zusätzliches Zeilenumbruchzeichen ausgegeben wird, das den Cursor in die neue Zeile der Konsole bewegt, entspricht der von puts() zurückgegebene ganzzahlige Wert immer der Anzahl der in der Zeichenfolge vorhandenen Zeichen plus 1.

Erklärung

 int puts(char[]) 

Sehen wir uns ein Beispiel an, um einen String mit gets() zu lesen und ihn mit puts() auf der Konsole auszugeben.

 #include #include int main(){ char name[50]; printf('Enter your name: '); gets(name); //reads string from user printf('Your name is: '); puts(name); //displays string return 0; } 

Ausgabe:

 Enter your name: Sonoo Jaiswal Your name is: Sonoo Jaiswal