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