Gets() un puts() tiek deklarēti galvenes failā stdio.h. Abas funkcijas ir iesaistītas virkņu ievades/izvades operācijās.
C gets() funkcija
Funkcija gets() ļauj lietotājam ievadīt dažas rakstzīmes, kam seko ievadīšanas taustiņš. Visas lietotāja ievadītās rakstzīmes tiek saglabātas rakstzīmju masīvā. Nulles rakstzīme tiek pievienota masīvam, lai padarītu to par virkni. Gets() ļauj lietotājam ievadīt ar atstarpi atdalītas virknes. Tas atgriež lietotāja ievadīto virkni.
Deklarācija
char[] gets(char[]);
Virknes lasīšana, izmantojot gets()
#include void main () { char s[30]; printf('Enter the string? '); gets(s); printf('You entered %s',s); }
Izvade
Enter the string? javatpoint is the best You entered javatpoint is the best
Funkciju gets() ir riskanti izmantot, jo tā neveic nekādu masīva saistīto pārbaudi un turpina lasīt rakstzīmes, līdz tiek atrasta jauna rindiņa (enter). Tas cieš no bufera pārpildes, no kuras var izvairīties, izmantojot fgets(). Fgets () nodrošina, ka tiek nolasīts ne vairāk par maksimālo rakstzīmju ierobežojumu. Apsveriet šādu piemēru.
#include void main() { char str[20]; printf('Enter the string? '); fgets(str, 20, stdin); printf('%s', str); }
Izvade
Enter the string? javatpoint is the best website javatpoint is the b
C puts() funkcija
Funkcija puts () ir ļoti līdzīga funkcijai printf (). Funkciju puts () izmanto, lai konsolē izdrukātu virkni, kas iepriekš tika nolasīta, izmantojot funkciju gets () vai scanf (). Funkcija puts () atgriež vesela skaitļa vērtību, kas atspoguļo konsolē drukāto rakstzīmju skaitu. Tā kā tas drukā papildu jaunās rindas rakstzīmi ar virkni, kas pārvieto kursoru uz jauno konsoles rindiņu, vesela skaitļa vērtība, ko atgriež ar puts () vienmēr būs vienāda ar virknē esošo rakstzīmju skaitu plus 1.
Deklarācija
int puts(char[])
Apskatīsim piemēru, kā nolasīt virkni, izmantojot gets(), un izdrukāt to konsolē, izmantojot 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; }
Izvade:
Enter your name: Sonoo Jaiswal Your name is: Sonoo Jaiswal