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.