Els gets() i puts() es declaren al fitxer de capçalera stdio.h. Ambdues funcions estan implicades en les operacions d'entrada/sortida de les cadenes.
C gets() funció
La funció gets() permet a l'usuari introduir alguns caràcters seguits de la tecla Intro. Tots els caràcters introduïts per l'usuari s'emmagatzemen en una matriu de caràcters. El caràcter nul s'afegeix a la matriu per convertir-la en una cadena. El gets() permet a l'usuari introduir les cadenes separades per espais. Retorna la cadena introduïda per l'usuari.
Declaració
char[] gets(char[]);
Llegint cadena utilitzant gets()
#include void main () { char s[30]; printf('Enter the string? '); gets(s); printf('You entered %s',s); }
Sortida
Enter the string? javatpoint is the best You entered javatpoint is the best
La funció gets() és arriscada d'utilitzar ja que no realitza cap comprovació de l'enllaç de matriu i segueix llegint els caràcters fins que es trobi la nova línia (enter). Pateix un desbordament de memòria intermèdia, que es pot evitar utilitzant fgets(). El fgets() s'assegura que no es llegeix més del límit màxim de caràcters. Considereu l'exemple següent.
#include void main() { char str[20]; printf('Enter the string? '); fgets(str, 20, stdin); printf('%s', str); }
Sortida
Enter the string? javatpoint is the best website javatpoint is the b
C posa () funció
La funció puts() és molt semblant a la funció printf(). La funció puts() s'utilitza per imprimir la cadena a la consola que es llegeix prèviament mitjançant la funció gets() o scanf(). La funció puts() retorna un valor enter que representa el nombre de caràcters que s'imprimeixen a la consola. Com que imprimeix un caràcter de nova línia addicional amb la cadena, que mou el cursor a la nova línia de la consola, el valor enter retornat per puts() sempre serà igual al nombre de caràcters presents a la cadena més 1.
Declaració
int puts(char[])
Vegem un exemple per llegir una cadena amb gets() i imprimir-la a la consola amb 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; }
Sortida:
Enter your name: Sonoo Jaiswal Your name is: Sonoo Jaiswal