logo

C saa() ja laittaa()-funktiot

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