Vhodno izhodne funkcije
Iz E-študij, proste zakladnice študentskega znanja
Vsebina |
getchar()
getchar() vrne vrednost naslednjega vnesenega znaka preko tipkovnice kot int. Če pride do napake, namesto tega vrne EOF (end of file). Torej je pametno preveriti, če vrnjeni znak ni slučajno EOF, preden ga uporabimo. Če vrnjeno vrednost prej shranimo v spremenljivko tipa char, ne bo nikoli enaka EOF, torej morebitnih napak ne moremo preveriti. Kot primer navedimo program, ki šteje število vnesenih znakov, dokler ne pride do EOF. EOF lahko generiramo z vnosom <control>+d.
#include <stdio.h>
main()
{
int ch, i = 0;
while((ch = getchar()) != EOF) //beremo znake dokler ne naletimo na EOF
i++; //ce prebrani znak ni enak EOF, stevilu prebranih znakov pristejemo 1
printf("%d\n", i); //izpisemo koliko znakov smo prebrali
}
putchar()
putchar() izpiše vrednost argumenta na standardni izhod (običajno monitor). Sledeči primer programa pretvori katerikoli vtipkani znak v veliko črko. Za pretvorbo črke v veliko črko uporabimo funkcijo toupper iz knjižnice ctype.h, ki vsebuje funkcije za delo z znaki.
#include <ctype.h> /* za definicijo fukcije toupper */
#include <stdio.h> /* za definicijo getchar, putchar, EOF */
main()
{
int ch;
while((ch = getchar()) != EOF)
putchar(toupper(ch));
}
printf()
printf() funkcija ponuja bolj strukturiran izpis kot putchar. Njeni argumenti so po vrsti: kontrolni niz, ki nadzoruje kaj izpisujemo, sledi pa mu seznam vrednosti, ki bodo pri izpisu zamenjale kontrolne nize.
#include <stdio.h>
main()
{
char stavek[] = "Pozdravljen svet!";
printf("%s",stavek);
}
scanf()
scanf() omogoča formatirano branje podatkov iz tipkovnice. Podobno kot printf ima kontrolni niz, ki mu sledi seznam elementov, ki jih želimo prebrati. Toda pri funkciji scanf za razliko od prinf v seznamu elementov navajamo naslove do spremenljivk katerim zelimo prirediti prebrane vrednosti. To dosezemo tako, da pred elemente v seznamu dodamo znak &. Nizi znakov so pri tem izjema. Ker so nizi ze kazalci na polje znakov, jim v seznamu elementov ni treba dodati znaka &.
Vtipkajte man scanf v konzoli, da dobite informacije o vseh možnostih, ki jih ta funkcija ponuja na vašem sistemu.
#include <stdio.h>
main()
{
char ime[10];
printf("Vpisi svoje ime: ");
scanf("%s",&ime);
printf("Ime ti je %s.\n",ime);
}