Vent på brukerinngang C -språk

Vent på brukerinngang C -språk
På C -programmeringsspråk er det noen inngangsfunksjoner. Ved hjelp av disse funksjonene kan vi vente på brukerinngang. I denne opplæringen skal vi diskutere inngangsfunksjonene i detaljer.

Formatstreng

Formatstreng er formatet for angitte data. Dette formatet starter med % skilt og fulgt av formatspesifikasjon. Format Spesifikator er et spesifikt tegn som brukes for hvilken type data blir lest.

Arg1, Arg2, Arg3 ... er adressene til variablene der de angitte dataene vil bli lagret.

scanf () -funksjon

Syntaks: Int Scanf (“Format String”, Arg1, Arg2, Arg3…)

Noen av de ofte brukte spesifikasjonene er som følger:

  • d - Brukt til heltallverdier.
  • f - Brukt til flytende nummer.
  • c - Brukt til enkeltkarakterverdi.
  • s - Brukt til strenger.

Bruker singel Scanf () funksjon, en eller flere innganger kan tas fra brukeren.

De Scanf () Funksjonen tar input fra standardinngangen (tastaturet) og lagrer verdien i en variabel. Funksjonen venter på brukerinngangen til brukeren trykker på Enter -tasten. Angi verdi lagres i en buffer. Når enter tasten trykkes, Scanf () Funksjonen begynner å lese.

Eksempel1: Heltallinngang

// Eksempel1.c
#inkludere
int main ()
int jeg;
printf ("Angi 1. heltallverdi:");
SCANF ("%D", & I);
printf ("du skrev inn: %d \ n", i);
printf ("Angi 2. heltallverdi:");
SCANF ("%D", & I);
printf ("du skrev inn: %d \ n", i);
retur 0;

I eksempel1.C, har vi sett at når vi skrev inn heltallverdier og trykker på Enter -tasten. De Scanf () Funksjonen tar verdien og lagret den i variabelen. Hvis vi oppgir verdiene atskilt med rom, returnerer funksjonen når det oppstår plass, men verdiene etter at rommet forblir i inngangsbufferen. Det er derfor den andre Scanf () Funksjonen vil ikke vente på brukerinngang, i stedet tar den inngangen fra bufferen.

Eksempel 2: Enkeltkarakterinngang

// Eksempel2.c
#inkludere
int main ()
char c;
printf ("Skriv inn et tegn:");
SCANF ("%C", & C);
printf ("du skrev inn: %c \ n", c);
retur 0;

I eksempel2.C, har vi sett at når vi bruker %c Spesifikator, The Scanf () Funksjonen tar bare ett tegn selv om vi har lagt inn mer enn ett tegn.

Eksempel 3: Enkeltkarakterinngang (flere ganger)

// Eksempel3.c
#inkludere
int main ()
char c;
printf ("Enter 1. karakter:");
SCANF ("%C", & C);
printf ("du skrev inn: %c \ n", c);
printf ("Enter 2. karakter:");
SCANF ("%C", & C);
printf ("du skrev inn: %c \ n", c);
retur 0;

Eksempel 4:

// Eksempel4.c
#inkludere
int main ()
char c;
printf ("Enter 1. karakter:");
SCANF ("%C", & C);
printf ("du skrev inn: %c \ n", c);
printf ("Enter 2. karakter:");
SCANF (" %C", & C);
printf ("du skrev inn: %c \ n", c);
retur 0;

Eksempel 5: Strenginngang

// Eksempel5.c
#inkludere
int main ()
char -navn [15];
printf ("Skriv inn navnet ditt:");
scanf ("%s", navn);
printf ("du skrev inn: %s \ n", navn);
retur 0;

getc () funksjon

Syntaks: int getc (fil *stream)

getc () Funksjon brukes til å lese et tegn fra filpekeren (strømmen). For å lese fra tastaturet, må vi bruke stdin. Denne funksjonen returnerer en heltallverdi av lesekarakteren.

Eksempel 6:

// Eksempel6.c
#inkludere
int main ()
char c;
printf ("Enter 1. karakter:");
mens ((c = getc (stdin)) == '\ n');
printf ("du skrev inn: %c \ n", c);
mens (getc (stdin)!= '\ n');
printf ("Enter 2. karakter:");
mens ((c = getc (stdin)) == '\ n');
printf ("du skrev inn: %c \ n", c);
return 0;

getChar () -funksjon

Syntaks: int getchar (ugyldig)

GetChar () funksjonen er den samme som getc (). Den eneste forskjellen er det getc () funksjon kan lese fra hvilken som helst inngangsstrøm, mens GetChar () Funksjon lyder bare fra standardinngang.

Eksempel 7:

// Eksempel7.c
#inkludere
int main ()
char c;
printf ("Enter 1. karakter:");
mens ((c = getChar ()) == '\ n');
printf ("du skrev inn: %c \ n", c);
mens (getchar ()!= '\ n');
printf ("Enter 2. karakter:");
mens ((c = getChar ()) == '\ n');
printf ("du skrev inn: %c \ n", c);
return 0;

Konklusjon

I denne artikkelen har vi sett hvordan inngangsfunksjoner brukes på C -språk. Alle disse funksjonene blir tatt innspill fra inngangsbufferen, og når vi bruker disse funksjonene flere ganger, må vi fjerne bufferen. Ellers vil ikke funksjonene vente på brukerinngang og ta inngangen fra bufferen.