Fscanf (jazyk C): Rozdiel medzi revíziami
d (→Príklad) |
d |
||
(2 medziľahlé úpravy od rovnakého používateľa nie sú zobrazené.) | |||
Riadok 14: | Riadok 14: | ||
==Podrobný popis funckie== | ==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. | + | Funkcia [[Fscanf (jazyk C)|fscanf]]() sa používa na čítanie formátovaného vstupu zo súboru. Funguje to rovnako ako funkcia [[Scanf (jazyk C)|scanf]](), ale namiesto čítania údajov zo štandardného vstupu číta údaje zo súboru. V skutočnosti je väčšina argumentov funkcie [[Fscanf (jazyk C)|fscanf]]() rovnaká ako funkcia [[Scanf (jazyk C)|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== | ==Parametre== | ||
Riadok 27: | Riadok 26: | ||
==Návratová hodnota== | ==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. | 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== | ==Príklad== | ||
Riadok 33: | Riadok 31: | ||
#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 |
Aktuálna revízia z 23:17, 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