Fscanf (jazyk C): Rozdiel medzi revíziami
d (→Príklad) |
d (→Príklad) |
||
Riadok 33: | Riadok 33: | ||
#include <stdio.h> | #include <stdio.h> | ||
− | int main () | + | int main (){ |
− | { | + | char str [80]; |
− | + | float f; | |
− | + | FILE *subor; | |
− | |||
− | + | subor = fopen ("myfile.txt","w+"); //otvorenie súboru | |
− | + | fprintf (subor, "%f %s", 3.1416, "PI"); //zapísanie do súboru | |
− | + | rewind (subor); //vráti kurzor na začiatok | |
− | + | fscanf (subor, "%f", &f); //načítanie zo súboru | |
− | + | fscanf (subor, "%s", str); //načítanie zo súboru | |
− | + | fclose (subor); //zatvorenie súboru | |
− | + | printf ("Precital som: %f and %s \n",f,str); //vypísanie načítaného textu zo súboru na obrazovku | |
− | + | return 0; | |
} | } | ||
</source> | </source> | ||
Výstup: | Výstup: | ||
Precital som: 3.141600 and PI | Precital som: 3.141600 and PI |
Verzia zo dňa a času 22:13, 19. máj 2020
<ctype.h> | <limits.h> | <stdio.h> | <stdlib.h> | <math.h> | <string.h> | <time.h> |
---|---|---|---|---|---|---|
isalnum |
printf |
system |
Funkcia fscanf
knižnica | stdio.h |
popis | Načíta dáta zo súboru |
Úplný funčný prototyp
int fscanf(FILE *stream, const char *format, ...)
Podrobný popis funckie
Funkcia fscanf () sa používa na čítanie formátovaného vstupu zo súboru. Funguje to rovnako ako funkcia scanf (), ale namiesto čítania údajov zo štandardného vstupu číta údaje zo súboru. V skutočnosti je väčšina argumentov funkcie fscanf () rovnaká ako funkcia scanf (), okrem toho, že potrebuje ďalší argument, ukazovateľ súboru. Po ukončení táto funkcia vráti počet načítaných hodnôt a pri chybe alebo na konci súboru vráti EOF alebo -1.
Parametre
- stream
- Toto je pointer na objekt FILE, ktorý identifikuje tok.
- format
- Formát vstupných dát. Akýkoľvek biely znak oddeľuje hodnoty (rovnako aj pri reťazcoch). Ak chcete vedieť viac o formátovaní, prejdite na stránku scanf.
Tvar formátu: %[*][šírka][dĺžka]formátovací znak ([] označujú, že daný špecifikátor je voliteľný)
- Dodatočný argument
- V závislosti na stringu môže funkcia obsahovať postupnosť ďalších argumentov, z ktorých každý obsahuje jednu hodnotu namiesto každého %-tag špecifikovaného v parametri formátu (ak existuje). Mal by existovať rovnaký počet týchto argumentov ako počet %-tag, ktoré očakávajú hodnotu.
Návratová hodnota
Táto funkcia vráti počet úspešne priradených vstupných položiek, ktoré môžu byť menšie, ako je stanovené, alebo dokonca nulové, v prípade skorého zlyhania.
Príklad
1 #include <stdio.h>
2
3 int main (){
4 char str [80];
5 float f;
6 FILE *subor;
7
8 subor = fopen ("myfile.txt","w+"); //otvorenie súboru
9 fprintf (subor, "%f %s", 3.1416, "PI"); //zapísanie do súboru
10 rewind (subor); //vráti kurzor na začiatok
11 fscanf (subor, "%f", &f); //načítanie zo súboru
12 fscanf (subor, "%s", str); //načítanie zo súboru
13 fclose (subor); //zatvorenie súboru
14 printf ("Precital som: %f and %s \n",f,str); //vypísanie načítaného textu zo súboru na obrazovku
15 return 0;
16 }
Výstup:
Precital som: 3.141600 and PI