Gets() in puts() sta deklarirana v datoteki glave stdio.h. Obe funkciji sta vključeni v vhodno/izhodne operacije nizov.
Funkcija C gets().
Funkcija gets() omogoča uporabniku, da vnese nekaj znakov, ki jim sledi tipka enter. Vsi znaki, ki jih vnese uporabnik, se shranijo v niz znakov. Matriki je dodan ničelni znak, da postane niz. Gets() omogoča uporabniku vnos nizov, ločenih s presledki. Vrne niz, ki ga je vnesel uporabnik.
Izjava
char[] gets(char[]);
Branje niza z uporabo gets()
#include void main () { char s[30]; printf('Enter the string? '); gets(s); printf('You entered %s',s); }
Izhod
Enter the string? javatpoint is the best You entered javatpoint is the best
Uporaba funkcije gets() je tvegana, saj ne izvaja nobenega preverjanja vezave na polje in nadaljuje z branjem znakov, dokler ne naleti na novo vrstico (enter). Trpi zaradi prekoračitve medpomnilnika, čemur se je mogoče izogniti z uporabo funkcije fgets(). Funkcija fgets() poskrbi, da se ne prebere več kot največje dovoljeno število znakov. Razmislite o naslednjem primeru.
#include void main() { char str[20]; printf('Enter the string? '); fgets(str, 20, stdin); printf('%s', str); }
Izhod
Enter the string? javatpoint is the best website javatpoint is the b
Funkcija C puts().
Funkcija puts() je zelo podobna funkciji printf(). Funkcija puts() se uporablja za tiskanje niza na konzoli, ki je predhodno prebran s funkcijo gets() ali scanf(). Funkcija puts() vrne vrednost celega števila, ki predstavlja število znakov, ki se natisnejo na konzoli. Ker z nizom natisne dodaten znak za novo vrstico, ki premakne kazalec v novo vrstico na konzoli, bo vrednost celega števila, ki jo vrne puts(), vedno enaka številu znakov v nizu plus 1.
Izjava
int puts(char[])
Oglejmo si primer branja niza z gets() in tiskanja na konzoli s puts().
#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; }
Izhod:
Enter your name: Sonoo Jaiswal Your name is: Sonoo Jaiswal