Fscanf (jazyk C)
<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