| 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) |