Knihovny C/printf a scanf
Z Wikiknih
| Znak | Slovo | Význam |
| %c | char | Znak |
| %s | char* | Řetězec |
| %d | int | Celé číslo desítkové soustavy (0-9) |
| %o | int | Celé číslo osmičkové soustavy (0-7) |
| %x | int | Celé číslo šestnáctkové soustavy (0-f) |
| %X | int | Celé číslo šestnáctkové soustavy (0-F) |
| %f | float | Desetinné číslo (0.00-9.99) |
| %d | double | Desetinné číslo (0.0000-9.9999) |
Tato stránka popisuje funkce pro formátovaný vstup a výstup knihovny stdio.h.
Obsah |
[editovat] printf
Slouží pro formátovaný výstup. Funkce vrací počet znaků které vypsala. Příklad:
- %d bude nahrazeno proměnnou cislo
- %o bude nahrazeno proměnnou cislo, vypíše se ale v osmičkové soustavě
- %X bude nahrazeno proměnnou cislo2, vypíše se ale v šestnáctkové soustavě
- do proměnné vypsano je uložen počet znaků vypsaných prvním příkazem
Takže bude vypsáno:
Vypsany text Cislo: 10 Cislo osmickove: 12 Druhe cislo sestnactkove: 1E Bylo vypsano celkem 62 znaku. |
[editovat] scanf
Slouží pro formátovaný vstup a používá se podobně jako printf. Vrací počet získaných hodnot. Následující příklad získá z klávesnice dvě celá čísla a vypíše patřičný výstup:
[editovat] fprintf a fscanf
Slouží pro formátovaný vstup a výstup datového proudu. Od funkcí printf a scanf se liší pouze uvedením datového proudu.
char retezec[20]="bla"; FILE *proud; proud=fopen("soubor.txt","w"); if(proud!=NULL){ fprintf(proud,"Bla %s\n",retezec); } |
Tento příklad zapíše do souboru soubor.txt text "Bla bla"
char retezec[100]; FILE *proud=fopen("soubor.txt","r"); if(proud==NULL){ printf("Nepodarilo se otevrit soubor soubor.txt!"); }else{ fscanf(proud,"%s",&retezec); printf("soubor.txt: %s",retezec); } |
[editovat] Zajímavá ukázka na konec
A tento zase vypíše obsah souboru soubor.txt. Na konec si napíšeme prográmek podobný DOSovému příkazu TYPE, který navíc budeme moci použít i pro klasické otevírání souborů:
Soubor můžete v tomto programu otevřít v příkazovém řádku například následujícím příkazem:
program soubor.txt |
Pod Windows můžete jednoduše přetáhnout textový soubor na ikonu programu , použít nabídku Otevřít v programu, nebo dokonce program asociovat s určitým typem souborů. (pod Linuxem netestováno, možná funguje)