Vent på brugerinput: C Sprog

Wait User Input C Language



I C programmeringssprog er der nogle inputfunktioner. Ved hjælp af disse funktioner kan vi vente på brugerinput. I denne vejledning vil vi diskutere inputfunktionerne i detaljer.

Format streng

Formatstreng er formatet for indtastede data. Dette format starter med % -tegn og efterfulgt af formatspecificator. Format specificer er et specifikt tegn, der bruges til hvilken type data der læses.







arg1, arg2, arg3 ... er adresserne på de variabler, hvor de indtastede data vil blive gemt.



scanf () Funktion

Syntaks: int scanf (formatstreng, arg1, arg2, arg3 ...)



Nogle af de ofte anvendte specifikatorer er som følger:





  • d - Anvendes til heltalsværdier.
  • f - Anvendes til flydende nummer.
  • c - Bruges til værdi for enkelt tegn.
  • s - Anvendes til strenge.

Brug af single scanf () funktion, kan en eller flere input tages fra brugeren.

Det scanf () funktion tager input fra standardindgangen (tastatur) og gemmer værdien i en variabel. Funktionen venter på brugerens input, indtil brugeren trykker på enter -tasten. Den indtastede værdi gemmes i en buffer. Når der trykkes på enter -tasten, scanf () funktionen begynder at læse.



Eksempel 1: Heltal input

// Eksempel1.c
#omfatte

intvigtigste(){

intjeg;
printf ('Indtast 1. heltalsværdi:');
scanf ('%d', &jeg);
printf ('Du indtastede: %d n',jeg);

printf ('Indtast 2. heltalsværdi:');
scanf ('%d', &jeg);
printf ('Du indtastede: %d n',jeg);

Vend tilbage 0;
}

I eksempel1.c har vi set, at da vi indtastede heltalsværdier og trykker på enter -tasten. Det scanf () funktion tager værdien og gemmer den i variablen. Hvis vi indtaster de værdier, der er adskilt af mellemrum, vender funktionen tilbage, når der opstår plads, men værdierne efter mellemrum forbliver i inputbufferen. Derfor er det andet scanf () funktion venter ikke på brugerinput, i stedet tager det input fra bufferen.

Eksempel 2: Enkelt tegnindgang

//Eksempel2.c
#omfatte

intvigtigste(){

forkælelsec;
printf ('Indtast et tegn:');
scanf ('% c', &c);
printf ('Du indtastede: %c n',c);

Vend tilbage 0;
}

I eksempel2.c har vi set det, når vi bruger % c specificer, den scanf () funktionen tager kun et tegn, selvom vi har indtastet mere end et tegn.

Eksempel 3: Enkelttegn (flere gange)

// Eksempel3.c
#omfatte

intvigtigste(){

forkælelsec;
printf ('Indtast 1. tegn:');
scanf ('% c', &c);
printf ('Du indtastede: %c n',c);

printf ('Indtast 2. tegn:');
scanf ('% c', &c);
printf ('Du indtastede: %c n',c);

Vend tilbage 0;
}

Eksempel 4 :

// Eksempel4.c
#omfatte

intvigtigste(){

forkælelsec;
printf ('Indtast 1. tegn:');
scanf ('% c', &c);
printf ('Du indtastede: %c n',c);

printf ('Indtast 2. tegn:');
scanf ('% c', &c);
printf ('Du indtastede: %c n',c);

Vend tilbage 0;
}

Eksempel 5: Stringinput

//Eksempel5.c
#omfatte

intvigtigste(){

forkælelsenavn[femten];
printf ('Indtast dit navn: ');
scanf ('%s',navn);
printf ('Du indtastede: %s n',navn);

Vend tilbage 0;
}

getc () Funktion

Syntaks: int getc (FILE *stream)

getc () funktion bruges til at læse et tegn fra FILE -markøren (stream). For at læse fra tastaturet skal vi bruge stdin . Denne funktion returnerer en heltal værdi af læst tegn.

Eksempel 6:

//Eksempel6.c
#omfatte

intvigtigste(){

forkælelsec;
printf ('Indtast 1. tegn:');
mens((c= getc (stdin))==' n');
printf ('Du indtastede: %c n',c);

mens( getc (stdin)! =' n');

printf ('Indtast 2. tegn:');
mens((c= getc (stdin))==' n');
printf ('Du indtastede: %c n',c);

Vend tilbage 0;
}

getchar () Funktion

Syntaks: int getchar (ugyldig)

getchar () funktionen er den samme som getc () . Den eneste forskel er det getc () funktion kan læse fra enhver inputstrøm, hvorimod getchar () funktion læser kun fra standardindgang.

Eksempel 7:

// Eksempel7.c
#omfatte

intvigtigste(){

forkælelsec;
printf ('Indtast 1. tegn:');
mens((c= getchar ())==' n');
printf ('Du indtastede: %c n',c);

mens( getchar ()! =' n');

printf ('Indtast 2. tegn:');
mens((c= getchar ())==' n');
printf ('Du indtastede: %c n',c);

Vend tilbage 0;
}

Konklusion

I denne artikel har vi set, hvordan inputfunktioner bruges i C -sprog. Alle disse funktioner hentes fra inputbufferen, og når vi bruger disse funktioner flere gange, skal vi rydde bufferen. Ellers venter funktionerne ikke på brugerinput og tager input fra bufferen.