| | 414 | Velikokrat se zgodi, da dobimo vhodne podatke, s katerimi bo program operiral, zapisane v datoteki. |
| | 415 | |
| | 416 | Primer datoteke s podatki, z imenom ''datoteka.dat'': |
| | 417 | |
| | 418 | {{{ |
| | 419 | 2 4 |
| | 420 | 00 02 12 08 |
| | 421 | 14 05 07 11 |
| | 422 | }}} |
| | 423 | |
| | 424 | Da bo naš program prebral to datoteko in shranil podatke pod spremenljivke, uporabljamo naslednjno kombinacijo ukazov: |
| | 425 | |
| | 426 | {{{ |
| | 427 | #!c |
| | 428 | int i; |
| | 429 | int n, d; |
| | 430 | float M[4], N[4]; |
| | 431 | |
| | 432 | FILE *f; //Povemo, da gre za podatkovo strukturo |
| | 433 | f=fopen("datoteka.dat","r"); //"r" pomeni, da bo datoteka samo za branje |
| | 434 | fscanf(f, "%d %d", &n, &d); //Prebere iz datoteke in shrani prva dva podatka pod spremenljivke n in d |
| | 435 | |
| | 436 | for(i=0; i<4; i++) |
| | 437 | { |
| | 438 | fscanf(f, "%f", &M[i]); //Prebere in shrani naslednje štiri podatke |
| | 439 | } |
| | 440 | for(i=0; i<4; i++) |
| | 441 | { |
| | 442 | fscanf(f, "%f", &N[i]); |
| | 443 | } |
| | 444 | fclose(f); |
| | 445 | }}} |
| | 446 | |
| | 447 | Zaporedje branja podatkov poteka vedno po vrsticah! (Lahko si predstavljamo, kot da so podatki zapisani v eni vrstici) |