logo

C get() és put() függvényeket

A gets() és puts() az stdio.h fejlécfájlban deklarálva van. Mindkét funkció részt vesz a karakterláncok bemeneti/kimeneti műveleteiben.

C gets() függvény

A gets() függvény lehetővé teszi a felhasználó számára, hogy beírjon néhány karaktert, majd az enter billentyűt. A felhasználó által beírt összes karakter egy karaktertömbben tárolódik. A null karakter hozzáadódik a tömbhöz, hogy az karakterlánc legyen. A gets() lehetővé teszi a felhasználó számára, hogy beírja a szóközzel elválasztott karakterláncokat. A felhasználó által beírt karakterláncot adja vissza.

Nyilatkozat

 char[] gets(char[]); 

Karakterlánc olvasása a gets() használatával

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

Kimenet

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

A gets() függvény használata kockázatos, mivel nem végez tömbhöz kötött ellenőrzést, és addig olvassa a karaktereket, amíg az új sort (enter) meg nem találja. Puffer túlcsordulást szenved, ami az fgets() használatával elkerülhető. Az fgets() gondoskodik arról, hogy a maximális karakterszámnál ne legyen több a beolvasásra. Tekintsük a következő példát.

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

Kimenet

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

C puts() függvény

A puts() függvény nagyon hasonlít a printf() függvényhez. A puts() függvény arra szolgál, hogy kinyomtassa a konzolon lévő karakterláncot, amelyet előzőleg a gets() vagy scanf() függvényekkel olvasott be. A puts() függvény egy egész értéket ad vissza, amely a konzolra nyomtatott karakterek számát jelzi. Mivel egy további újsor karaktert nyomtat a stringgel, amely a kurzort a konzol új sorába viszi, a puts() által visszaadott egész érték mindig megegyezik a karakterláncban lévő karakterek számával plusz 1-gyel.

Nyilatkozat

 int puts(char[]) 

Lássunk egy példát egy karakterlánc olvasására a gets() használatával, és a puts() segítségével kinyomtatjuk a konzolra.

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

Kimenet:

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