Format String
Format string je format za unesene podatke. Ovaj format počinje znakom %, a zatim slijedi specifikator formata. Specifikator formata je određeni znak koji se koristi za koju vrstu podataka se čita.
arg1, arg2, arg3 ... adrese su varijabli u koje će se unositi podaci.
funkcija scanf ()
Sintaksa: int scanf (niz znakova, arg1, arg2, arg3 ...)
Neki od često korištenih specifikatora su sljedeći:
- d - Koristi se za cjelobrojne vrijednosti.
- f - Koristi se za plutajući broj.
- c - Koristi se za vrijednost jednog znaka.
- s - Koristi se za žice.
Korištenje single scanf () funkciju, od korisnika se može uzeti jedan ili više unosa.
The scanf () funkcija uzima ulaz sa standardnog unosa (tipkovnica) i pohranjuje vrijednost u varijablu. Funkcija čeka korisnički unos sve dok korisnik ne pritisne tipku enter. Unesena vrijednost pohranjuje se u međuspremnik. Kada pritisnete tipku enter, scanf () funkcija počinje čitati.
Primjer 1: Cijeli ulaz
// Primjer1.c#uključi
intglavni(){
inti;
printf ('Unesite prvu cijelu vrijednost:');
scanf ('%d', &i);
printf ('Ušli ste: %d n',Ja);
printf ('Unesite 2. cijelu vrijednost:');
scanf ('%d', &i);
printf ('Ušli ste: %d n',Ja);
povratak 0;
}
U primjeru 1.c vidjeli smo da smo prilikom unosa cjelobrojnih vrijednosti pritisnuli tipku enter. The scanf () funkcija uzima vrijednost i sprema je u varijablu. Ako unesemo vrijednosti odvojene razmakom, funkcija se vraća kada se naiđe na razmak, ali vrijednosti nakon razmaka ostaju u ulaznom međuspremniku. Zato drugi scanf () funkcija neće čekati na unos korisnika, već uzima ulaz iz međuspremnika.
Primjer 2: Unos jednoznakovnog znaka
// Primjer2.c#uključi
intglavni(){
charc;
printf ('Unesite znak:');
scanf ('% c', &c);
printf ('Ušli ste: %c n',c);
povratak 0;
}
U primjeru 2.c vidjeli smo da kada koristimo % c specifikator, scanf () funkcija uzima samo jedan znak čak i ako smo unijeli više od jednog znaka.
Primjer 3: Unos jednoznakovnog znaka (više puta)
// Primjer3.c#uključi
intglavni(){
charc;
printf ('Unesite prvi znak:');
scanf ('% c', &c);
printf ('Ušli ste: %c n',c);
printf ('Unesite drugi znak:');
scanf ('% c', &c);
printf ('Ušli ste: %c n',c);
povratak 0;
}
Primjer 4 :
// Primjer4.c#uključi
intglavni(){
charc;
printf ('Unesite prvi znak:');
scanf ('% c', &c);
printf ('Ušli ste: %c n',c);
printf ('Unesite drugi znak:');
scanf ('% c', &c);
printf ('Ušli ste: %c n',c);
povratak 0;
}
Primjer 5: Unos niza
// Primjer5.c#uključi
intglavni(){
charIme[petnaest];
printf ('Unesite svoje ime: ');
scanf ('%s',Ime);
printf ('Ušli ste: %s n',Ime);
povratak 0;
}
getc () funkcija
Sintaksa: int getc (FILE *stream)
getc () funkcija se koristi za čitanje znaka iz pokazivača FILE (stream). Za čitanje s tipkovnice moramo koristiti stdin . Ova funkcija vraća cijelu vrijednost pročitanog znaka.
Primjer 6:
// Primjer6.c#uključi
intglavni(){
charc;
printf ('Unesite prvi znak:');
dok((c= getc (stdin))==' n');
printf ('Ušli ste: %c n',c);
dok( getc (stdin)! =' n');
printf ('Unesite drugi znak:');
dok((c= getc (stdin))==' n');
printf ('Ušli ste: %c n',c);
povratak 0;
}
getchar () funkcija
Sintaksa: int getchar (void)
getchar () funkcija je ista kao getc () . Jedina razlika je u tome getc () funkcija može čitati iz bilo kojeg ulaznog toka, dok getchar () funkcija čita samo sa standardnog ulaza.
Primjer 7:
// Primjer7.c#uključi
intglavni(){
charc;
printf ('Unesite prvi znak:');
dok((c= getchar ())==' n');
printf ('Ušli ste: %c n',c);
dok( getchar ()! =' n');
printf ('Unesite drugi znak:');
dok((c= getchar ())==' n');
printf ('Ušli ste: %c n',c);
povratak 0;
}
Zaključak
U ovom smo članku vidjeli kako se funkcije unosa koriste u jeziku C. Sve ove funkcije preuzimaju se iz ulaznog međuspremnika i kada te funkcije koristimo više puta, moramo očistiti međuspremnik. U suprotnom, funkcije neće čekati na unos korisnika i preuzimati ulaz iz međuspremnika.