Várja meg a felhasználói bevitelt: C Nyelv

Wait User Input C Language



A C programozási nyelvben van néhány beviteli funkció. Ezen funkciók használatával várhatunk a felhasználói bevitelre. Ebben az oktatóanyagban részletesen tárgyaljuk a beviteli funkciókat.

Karakterlánc formázása

A formátum karakterlánc a bevitt adatok formátuma. Ez a formátum % előjellel kezdődik, majd formátum -specifikátor következik. A formátum -specifikátor egy speciális karakter, amelyet az olvasott adatok típusához használnak.







arg1, arg2, arg3… azoknak a változóknak a címei, ahol a bevitt adatok tárolódnak.



scanf () Funkció

Szintaxis: int scanf (karakterlánc, arg1, arg2, arg3…)



A gyakran használt specifikátorok közül néhány a következő:





  • d - Egész értékekhez használják.
  • f - Lebegő szám.
  • c - Egykarakterű értékekhez használják.
  • s - Húrokhoz használják.

Egyágyas használata scanf () funkció, egy vagy több bemenet vehető át a felhasználótól.

Az scanf () függvény a standard bemenetről (billentyűzet) vesz fel adatokat, és tárolja az értéket egy változóban. A funkció várja a felhasználói bevitelt, amíg a felhasználó le nem nyomja az enter billentyűt. A megadott érték pufferben tárolódik. Amikor megnyomja az Enter billentyűt, scanf () függvény olvasni kezd.



1. példa: Egész szám bemenet

//Példa1.c
#befoglalni

intfő-(){

intén;
printf ('Írja be az első egész értéket:');
scanf ('%d', &én);
printf ('Beléptél: %d n',én);

printf ('Írja be a 2. egész értéket:');
scanf ('%d', &én);
printf ('Beléptél: %d n',én);

Visszatérés 0;
}

Az 1.c példában láttuk, hogy amikor egész értékeket adtunk meg, és nyomjuk meg az enter billentyűt. Az scanf () függvény veszi az értéket és tárolja a változóban. Ha szóközökkel elválasztva adjuk meg az értékeket, akkor a függvény visszatér térköz esetén, de a szóköz utáni értékek a bemeneti pufferben maradnak. Ezért a második scanf () függvény nem várja meg a felhasználói bevitelt, hanem a pufferből veszi a bemenetet.

2. példa: Egy karakter bevitel

//Példa2.c
#befoglalni

intfő-(){

charc;
printf ('Írjon be egy karaktert:');
scanf ('% c', &c);
printf ('Beléptél: %c n',c);

Visszatérés 0;
}

A 2.c példában láttuk, hogy amikor használjuk % c specifikátor, a scanf () függvény csak egy karaktert tartalmaz, még akkor is, ha több karaktert írtunk be.

3. példa: Egy karakter bevitel (többször)

//Példa3.c
#befoglalni

intfő-(){

charc;
printf ('Írja be az első karaktert:');
scanf ('% c', &c);
printf ('Beléptél: %c n',c);

printf ('Írja be a 2. karaktert:');
scanf ('% c', &c);
printf ('Beléptél: %c n',c);

Visszatérés 0;
}

4. példa :

//Példa4.c
#befoglalni

intfő-(){

charc;
printf ('Írja be az első karaktert:');
scanf ('% c', &c);
printf ('Beléptél: %c n',c);

printf ('Írja be a 2. karaktert:');
scanf ('% c', &c);
printf ('Beléptél: %c n',c);

Visszatérés 0;
}

5. példa: String bemenet

//Példa5.c
#befoglalni

intfő-(){

charnév[tizenöt];
printf ('Adja meg nevét: ');
scanf ('%s',név);
printf ('Belépett: %s n',név);

Visszatérés 0;
}

getc () függvény

Szintaxis: int getc (FILE *adatfolyam)

getc () függvény egy karakter olvasására szolgál a FILE mutatóból (adatfolyamból). A billentyűzetről történő olvasáshoz használnunk kell stdin . Ez a függvény az olvasott karakter egész értékét adja vissza.

6. példa:

//Példa6.c
#befoglalni

intfő-(){

charc;
printf ('Írja be az első karaktert:');
míg((c= getc (stdin))==' n');
printf ('Beléptél: %c n',c);

míg( getc (stdin)! =' n');

printf ('Írja be a 2. karaktert:');
míg((c= getc (stdin))==' n');
printf ('Beléptél: %c n',c);

Visszatérés 0;
}

getchar () függvény

Szintaxis: int getchar (érvénytelen)

getchar () funkció ugyanaz, mint getc () . Az egyetlen különbség az getc () funkció bármilyen bemeneti adatfolyamból olvasható, míg getchar () funkció csak szabványos bemenetről olvasható.

7. példa:

//Példa7.c
#befoglalni

intfő-(){

charc;
printf ('Írja be az első karaktert:');
míg((c= getchar ())==' n');
printf ('Beléptél: %c n',c);

míg( getchar ()! =' n');

printf ('Írja be a 2. karaktert:');
míg((c= getchar ())==' n');
printf ('Beléptél: %c n',c);

Visszatérés 0;
}

Következtetés

Ebben a cikkben láttuk, hogyan használják a beviteli függvényeket C nyelven. Mindezeket a funkciókat a bemeneti pufferből veszik be, és amikor ezeket a funkciókat többször használjuk, törölni kell a puffert. Ellenkező esetben a funkciók nem várják meg a felhasználói bevitelt, és a pufferből veszik a bemenetet.