Gets() og puts() er deklarert i headerfilen stdio.h. Begge funksjonene er involvert i inn-/utgangsoperasjonene til strengene.
C får() funksjon
Gets()-funksjonen lar brukeren skrive inn noen tegn etterfulgt av enter-tasten. Alle tegnene som legges inn av brukeren blir lagret i en tegnarray. Nulltegnet legges til matrisen for å gjøre den til en streng. Gets() lar brukeren legge inn de mellomromseparerte strengene. Den returnerer strengen angitt av brukeren.
Erklæring
char[] gets(char[]);
Leser streng ved hjelp av gets()
#include void main () { char s[30]; printf('Enter the string? '); gets(s); printf('You entered %s',s); }
Produksjon
Enter the string? javatpoint is the best You entered javatpoint is the best
Gets()-funksjonen er risikabel å bruke siden den ikke utfører noen array-bundet kontroll og fortsetter å lese tegnene til den nye linjen (enter) blir møtt. Den lider av bufferoverløp, som kan unngås ved å bruke fgets(). Fgets() sørger for at ikke mer enn maksimalt antall tegn leses. Tenk på følgende eksempel.
#include void main() { char str[20]; printf('Enter the string? '); fgets(str, 20, stdin); printf('%s', str); }
Produksjon
Enter the string? javatpoint is the best website javatpoint is the b
C setter() funksjon
Puts()-funksjonen er veldig lik printf()-funksjonen. Puts()-funksjonen brukes til å skrive ut strengen på konsollen som tidligere er lest ved å bruke gets()- eller scanf()-funksjonen. Puts()-funksjonen returnerer en heltallsverdi som representerer antall tegn som skrives ut på konsollen. Siden den skriver ut et ekstra linjeskifttegn med strengen, som flytter markøren til den nye linjen på konsollen, vil heltallsverdien som returneres av puts() alltid være lik antall tegn i strengen pluss 1.
Erklæring
int puts(char[])
La oss se et eksempel for å lese en streng ved å bruke gets() og skrive den ut på konsollen ved å bruke 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; }
Produksjon:
Enter your name: Sonoo Jaiswal Your name is: Sonoo Jaiswal