Gets() ja puts() ilmoitetaan otsikkotiedostossa stdio.h. Molemmat toiminnot ovat mukana merkkijonojen syöttö/tulostusoperaatioissa.
C gets() -funktio
Gets()-funktion avulla käyttäjä voi syöttää joitain merkkejä ja sitten enter-näppäintä. Kaikki käyttäjän syöttämät merkit tallennetaan merkkijonoon. Nolla-merkki lisätään taulukkoon, jotta siitä tulee merkkijono. Gets() sallii käyttäjän syöttää välilyönnillä erotetut merkkijonot. Se palauttaa käyttäjän syöttämän merkkijonon.
julistus
char[] gets(char[]);
Lukee merkkijono komennolla gets()
#include void main () { char s[30]; printf('Enter the string? '); gets(s); printf('You entered %s',s); }
Lähtö
Enter the string? javatpoint is the best You entered javatpoint is the best
Gets()-funktion käyttö on riskialtista, koska se ei suorita taulukkoon sidottua tarkistusta ja jatkaa merkkien lukemista, kunnes uusi rivi (enter) löytyy. Se kärsii puskurin ylivuodosta, joka voidaan välttää käyttämällä fgets(). Fgets() varmistaa, että merkkejä ei lueta enempää kuin enimmäismäärä. Harkitse seuraavaa esimerkkiä.
#include void main() { char str[20]; printf('Enter the string? '); fgets(str, 20, stdin); printf('%s', str); }
Lähtö
Enter the string? javatpoint is the best website javatpoint is the b
C puts()-funktio
Puts()-funktio on hyvin samanlainen kuin printf()-funktio. Puts()-funktiota käytetään tulostamaan konsolissa oleva merkkijono, joka on aiemmin luettu gets()- tai scanf()-funktiolla. Puts()-funktio palauttaa kokonaisluvun, joka edustaa konsoliin tulostettavien merkkien määrää. Koska se tulostaa ylimääräisen rivinvaihdon merkkijonon kanssa, joka siirtää kohdistimen uudelle riville konsolissa, puts():n palauttama kokonaislukuarvo on aina yhtä suuri kuin merkkijonossa olevien merkkien lukumäärä plus 1.
julistus
int puts(char[])
Katsotaanpa esimerkkiä merkkijonon lukemisesta gets():llä ja tulostamisesta konsoliin puts()-komennolla.
#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; }
Lähtö:
Enter your name: Sonoo Jaiswal Your name is: Sonoo Jaiswal