Gets() i puts() su deklarirani u datoteci zaglavlja stdio.h. Obje funkcije uključene su u ulazno/izlazne operacije nizova.
C gets() funkcija
Funkcija gets() omogućuje korisniku da unese neke znakove nakon kojih slijedi tipka enter. Svi znakovi koje unese korisnik pohranjuju se u niz znakova. Znak null dodaje se nizu kako bi postao niz. Gets() omogućuje korisniku da unese nizove odvojene razmakom. Vraća niz koji je unio korisnik.
deklaracija
char[] gets(char[]);
Čitanje niza pomoću gets()
#include void main () { char s[30]; printf('Enter the string? '); gets(s); printf('You entered %s',s); }
Izlaz
Enter the string? javatpoint is the best You entered javatpoint is the best
Funkciju gets() rizično je koristiti jer ne provodi nikakvu provjeru granica niza i nastavlja čitati znakove dok se ne naiđe na novi red (enter). Pati od prekoračenja međuspremnika, što se može izbjeći upotrebom fgets(). Funkcija fgets() osigurava da se ne čita više od maksimalnog ograničenja znakova. Razmotrite sljedeći primjer.
#include void main() { char str[20]; printf('Enter the string? '); fgets(str, 20, stdin); printf('%s', str); }
Izlaz
Enter the string? javatpoint is the best website javatpoint is the b
C puts() funkcija
Funkcija puts() vrlo je slična funkciji printf(). Funkcija puts() koristi se za ispis stringa na konzoli koji je prethodno pročitan pomoću funkcije gets() ili scanf(). Funkcija puts() vraća cjelobrojnu vrijednost koja predstavlja broj znakova koji se ispisuju na konzoli. Budući da uz niz ispisuje dodatni znak novog retka, koji pomiče kursor u novi red na konzoli, vrijednost cijelog broja koju vraća puts() uvijek će biti jednaka broju znakova prisutnih u nizu plus 1.
deklaracija
int puts(char[])
Pogledajmo primjer za čitanje niza koristeći gets() i ispis na konzoli pomoću 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; }
Izlaz:
Enter your name: Sonoo Jaiswal Your name is: Sonoo Jaiswal