Microsoft PowerPoint - 11.Programski_Jezik_C_ulaz-izlaz [Compatibility Mode]

Слични документи
Microsoft PowerPoint - Datoteke [Compatibility Mode]

Uvod u računarstvo 2+2

Programski jezik C

Datoteke predavač: Nadežda Jakšić

Programski jezici i strukture podataka

Uvod u računarstvo 2+2

07_PJISP_II_Predavanja

PHP kod

Microsoft PowerPoint - Programski_Jezik_C_Organizacija_Izvornog_Programa_I_Greske [Compatibility Mode]

PowerPoint Presentation

Programiranje 2 0. predavanje Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog2 2019, 0. predavanje p. 1/4

Uvod u računarstvo 2+2

Funkcije predavač: Nadežda Jakšić

Programiranje 1 Beleške sa vežbi Školska 2007/2008 godina Matematički fakultet, Beograd Jelena Tomašević December 5, 2007

Strukture predavač: Nadežda Jakšić

Razvoj programa, Code::Blocks, struktura programa, printf, scanf, konverzioni karakteri predavač: Nadežda Jakšić

Programiranje 1 5. predavanje dodatak Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog1 2018, 5. predavanj

Microsoft PowerPoint - Bitovi [Compatibility Mode]

Računarski praktikum I - Vježbe 01 - Uvod

PowerPoint Presentation

Računarski praktikum I - Vježbe 03 - Implementacija strukture string

ELEKTROTEHNIČKI FAKULTET UNIVERZITETA U BEOGRADU BEOGRAD, Ispit iz Programiranja 2 Ispit traje 135 minuta Napomene: a) Pažljivo proučite U

MergedFile

Microsoft PowerPoint - MR - Vjezbe - 03.ppt [Compatibility Mode]

Programiranje za UNIX Okruženje unix procesa

Programski jezik C

Grananje u programu predavač: Nadežda Jakšić

Programiranje u C-u ili C++-u Pseudo-slučajni brojevi; Dinamička alokacija memorije 1 ZADACI SA ČASA Zadatak 1 Napraviti funkciju koja generišlučajan

Programiranje 2 Beleške sa vežbi Školska 2007/2008 godina Matematički fakultet, Beograd Jelena Tomašević February 23, 2008

Tutoring System for Distance Learning of Java Programming Language

070-ALIP2-udzbenik.indb

Programski jezici i strukture podataka 2018/2019. Programski jezici i strukture podataka Računarske vežbe vežba 10 Zimski semestar 2018/2019. Studijsk

Računarski praktikum I - Vježbe 07 - Podstrukture, const, reference

Funkcije predavač: Nadežda Jakšić

Programiranje predavanje Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog1 2016, 10. predavanje p. 1

Programiranje II Beleške sa vežbi Smer Informatika Matematički fakultet, Beograd Sana Stojanović 1

Konverzije, operatori, matematičke funkcije predavač: Nadežda Jakšić

Tutoring System for Distance Learning of Java Programming Language

Microsoft PowerPoint - JavaP9_2019

Tutoring System for Distance Learning of Java Programming Language

Uvod u računarstvo 2+2

PowerPoint Presentation

Programiranje 2 popravni kolokvij, 15. lipnja Ime i prezime: JMBAG: Upute: Na kolokviju je dozvoljeno koristiti samo pribor za pisanje i brisanj

Microsoft Word - 11 Pokazivaci

PowerPoint Presentation

Microsoft PowerPoint - 13-Funkcije_2.ppt [Compatibility Mode]

Računarski praktikum I - Vježbe 09 - this, static

Sveucilište u Zagrebu

Microsoft PowerPoint - 07-DinamickeStrukturePodataka

Studijski primer - Dijagrami toka podataka Softverski inženjering 1

1. OPĆE INFORMACIJE 1.1. Naziv kolegija Programiranje 1.6. Semestar Nositelj kolegija dr.sc. Bruno Trstenjak, v. pred Bodovna vrijednost

PROGRAMIRANJE Program je niz naredbi razumljivih računalu koje rješavaju neki problem. Algoritam je postupak raščlanjivanja problema na jednostavnije

АГЕНЦИЈА ЗА БАНКАРСТВО РЕПУБЛИКЕ СРПСКЕ УПУТСТВО ЗА ЕЛЕКТРОНСКО ДОСТАВЉАЊЕ ПОДАТАКА ИЗ ОБЛАСТИ РЕСТРУКТУРИРАЊА БАНАКА Бања Лука, јули године

Slide 1

Univerzitet u Novom Sadu Tehnički fakultet Mihajlo Pupin Zrenjanin Seminarski rad Predmet: Konkuretno programiranje doc. dr Dejan Lacmanovic Zorica Br

Slide 1

KORISNIČKE UPUTE APLIKACIJA ZA POTPIS DATOTEKA

Programiranje 2 7. predavanje Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog2 2019, 7. predavanje p. 1/7

Napredno web programiranje

Projektna dokumentacija Boostowski - mobile

Računarski praktikum I - Vježbe 11 - Funktori

Microsoft Word - Zadaci za samostalno vjezbanje 4.doc

Programiranje 1 9. predavanje Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog1 2018, 9. predavanje p. 1/6

PowerPoint Presentation

1 jmbag ime i prezime Programiranje 2 prvi kolokvij, Rezultati i uvidi u kolokvije: Rezultati u petak, 3.5., navečer na webu, a uvidi u p

Microsoft PowerPoint - Programski_Jezik_C_Organizacija_Izvrsnog_Programa [Compatibility Mode]

Osnovni programiranja I

Увод у организацију и архитектуру рачунара 1

Računarske mreže Čas 2 Ivana Tanasijević Matematički fakultet, Beograd 1

Uvod u takmičarsko programiranje

Fina pain001 konverter - Korisnička uputa eksterno_ožujak 2016

Često postavljana pitanja u programu OBRT 1. Kako napraviti uplatu u knjizi tražbina i obveza? 2. Kako odabrati mapu/disk za pohranu podataka? 3. Kako

Pages from 5527 lite guick guide from PDF - prevod_IO_FC - Serbian.doc

Osnove inženjerske informatike II. Uvod u programiranje Vaš prvi program K. F. & V. B.

Računarske mreže i mrežne tehnologije 10. termin 1. TRANSPORTNI SLOJ Transportni sloj nije još samo jedan od mnogih slojeva jer je njegova uloga sama

03 SUBP

PRIRODNO MATEMATIČKI FAKULTET U NIŠU DEPARTMAN ZA RAČUNARSKE NAUKE Utorak, godine PRIJEMNI ISPIT IZ INFORMATIKE 1. Koja od navedenih ekste

Programiranje 1 3. predavanje Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog1 2017, 3. predavanje p. 1/1

CLI

Programiranje 1 drugi kolokvij, 2. veljače Ime i prezime: JMBAG: Upute: Na kolokviju je dozvoljeno koristiti samo pribor za pisanje i brisanje,

P11.3 Analiza zivotnog veka, Graf smetnji

PROMENLJIVE, TIPOVI PROMENLJIVIH

VEŽBA 5: KLASE I OBJEKTI U C# Cilj ove vežbe je upoznavanje sa osnovama rada sa klasama i objektima u programskom jeziku C#. Pored toga, bide demonstr

Microsoft PowerPoint - PRI2014 KORIGOVANO [Compatibility Mode]

P3.2 Paralelno programiranje 2

Oblikovanje i analiza algoritama 5. predavanje Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb OAA 2017, 5. pr

Verifikacija softvera 7.čas Marjana Šolajić, Ana Vulović Matematički fakultet, Univerzitet u Beogradu 11. decembar 2018 Sadržaj 1 KLEE Upotreba

Упутство за пријављивање испита путем интернета Да би студент могао да пријави испит путем интернета мора прво да се пријави. Пријављивање се врши у п

Programiranje 1 Beleške sa vežbi Školska 2007/2008 godina Matematički fakultet, Beograd Jelena Tomašević January 23, 2008

MJEŠOVITA SREDNJA TEHNIČKA ŠKOLA TRAVNIK PROGRAMIRANJE I PROGRAMSKI JEZICI PROGRAMSKI JEZIK C -SKRIPTA ZA INTERNU UPOTREBU-

Test ispravio: (1) (2) Ukupan broj bodova: 21. veljače od 13:00 do 14:00 Županijsko natjecanje / Osnove informatike Osnovne škole Ime i prezime

УПУТСТВО ЗА КОРИСНИКА Приступ локацији часописа Српски архив за целокупно лекарство добија се преко internet adrese: Након

PowerPoint Presentation

Document ID / Revision : 0419/1.1 ID Issuer Sustav (sustav izdavatelja identifikacijskih oznaka) Upute za registraciju gospodarskih subjekata

Programiranje 2 1. predavanje Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb Prog2 2019, 1. predavanje p. 1/7

Uvod u PHP

Primenjeno programiranje - vezbe GUI i baze podataka

ZIS

Microsoft Word - privitak prijedloga odluke

The real problem is that programmers have spent far too much time worrying about efficiency in the wrong places and at the wrong times; premature opti

Транскрипт:

Programski jezik C - ulaz i izlaz programa

Ulaz i izlaz programa Argumenti komandne linije Standardni tokovi Preusmerenje Funkcije za rad sa ulazom i izlazom Formatiran ulaz/izlaz Datoteke 2

Aргументи командне линије Функција main до сада је дефинисана без аргумената main(), а командна линија којом се позива извршавање програма је садржала само један аргумент назив извршног програма../a.out У општем случају програм може да се позива са више аргумената, на пример./a.out argument1 argument2 argument3 а функција main у том случају може да има аргументе њихове вредности су у тесној вези са бројем и вредностима аргумената командне линије којом се позива извршавање одговарајућег програма 3

Aргументи командне линије У општем случају main се дефинише са два аргумента : argc (ARGument Count) број аргумената у командној линији (број стрингова у позиву извршавања програма, укључујући и име програма), и argv (ARGument Vector) вредности аргумената командне линије сами стрингови, тј. Заглавље функције main има општи облик int main(int argc, char *argv[])) Идентификатори argc, argv су произвољни и могу да се користе и други, на пример, int main (int br_argumenata, char* argumenti[]); 4

Aргументи командне линије int main(int argc, char *argv[ ])) argc добија вредност једнаку броју аргумената (рачунајући и само име датотеке извршног програма то је argv[0]), argv[1] је једнак првом опционом аргументу (који се наводи иза имена извршне датотеке), argv[2] је једнак другом опционом аргументу, итд. На пример, при позиву програма са три аргумента./a.out argument1 argument2 argument3 аrgc је 4, argv[0] је./a.out, argv[1] је argument1, argv[2] је argument2 а argv[3] је argument3 int main() argc је 1, argv[0] је име програма, argv[1] је NULL 5

Aргументи командне линије - пример #include <stdio.h> int main(int argc, char* argv[]) { int i; printf("argc = %d\n", argc); /* Nulti argument uvek je ime programa (na primer, a.out) */ for (i = 0; i < argc; i++) printf("argv[%d] = %s\n", i, argv[i]); return 0; } 6

Provera da li je program pokrenut sa argumentima Primer: program koristi 2 argumenta... if(argc<3) { printf("neispravno pokretanje programa\n"); return 1; } printf("argv[1]= %s argv[2]= %s\n", argv[1], argv[2]); 7

Standardni ulaz / izlaz Standardna biblioteka <stdio.h> Implementira jednostavan model tekstualnog ulaza i izlaza Ulaz i izlaz se modeluju tzv. tokovima (engl. stream) podataka (obično pojedinačnih bajtova ili karaktera) Standardni ulaz obično čine podaci koji se unose sa tastature Podaci koji se šalju na standardni izlaz obično se prikazuju na ekranu Standardni izlaz za greške šalju se poruke o greškama obično na ekran 8

Preusmeravanje (redirekcija) Moguće je izvršiti preusmeravanje (redirekciju) standardnog ulaza na neku datoteku Na primer, ukoliko se program pokrene sa./prog < indat onda program prog čita karaktere iz datoteke indat, umesto sa tastature 9

Preusmeravanje Preusmeravanje (redirekcija) standardnog izlaza u neku datoteku Na primer, ukoliko se program pokrene sa./prog > outdat onda program prog upisuje karaktere u datoteku outdat, umesto na ekran (poruke o greškama se još uvek ispisuju na ekran!) 10

Preusmeravanje Za preusmerenje izveštaja o greškama sa standardnog izlaza na datoteku, npr errordat koristi se operator preusmerenja 2> Na primer, prog > outdat 2> errordat 11

Funkcije za ulaz / izlaz jednog karaktera Funkcija int getchar(void); vraća sledeći karakter sa ulaza ili EOF kada dođe do kraja toka Funkcija int putchar(int c); štampa karakter c na standardni izlaz, a vraća karakter koji je ispisala ili EOF ukoliko je došlo do greške 12

Funkcije za ulaz / izlaz jednog karaktera #include <stdio.h> int main () { char c; printf("enter character: "); c = getchar(); printf("character entered: "); putchar(c); return(0); } 13

Linijski ulaz / izlaz Bibliotečka funkcija char* gets(char* s); čita karaktere sa standardnog ulaza do kraja tekuće linije ili do kraja datoteke i karaktere smešta u nisku s Oznaka kraja reda se ne smešta u nisku, a niska se automatski završava nulom U slučaju da je ulaz uspešno pročitan, gets vraća s, a inače vraća NULL pokazivač 14

Linijski ulaz / izlaz int main () { char str[50]; printf("enter a string : "); gets(str); printf("you entered: %s", str); return(0); } 15

Linijski ulaz / izlaz Bibliotečka funkcija int puts(const char* s); ispisuje nisku na koju ukazuje s na standardni izlaz, dodajući pri tom oznaku za kraj reda Završna nula se ne ispisuje Funkcija puts vraća EOF u slučaju da je došlo do greške, a nenegativnu vrednost inače 16

Linijski ulaz / izlaz #include <stdio.h> #include <string.h> int main () { char str1[15]; char str2[15]; strcpy(str1, "tutorialspoint"); strcpy(str2, "compileonline"); puts(str1); puts(str2); return(0); } 17

Formatiran ulaz / izlaz Funkcije printf i scanf Funkcija printf prevodi vrednosti osnovnih tipova podataka u niske karaktera i usmerava ih na standardni izlaz Funkcija vraća broj odštampanih karaktera Format niska sadrži dve vrste objekata: obične karaktere - doslovno se prepisuju na standardni izlaz i specifikacije konverzija - proizvode konverziju i štampanje odgovarajućeg argumenta funkcije printf 18

Formatiran ulaz / izlaz (codingunit.com) #include<stdio.h> main() { int a,b; float c,d; a = 15; b = a / 2; printf("%d\n",b); printf("%3d\n",b); printf("%03d\n",b); c = 15.3; d = c / 3; printf("%3.2f\n",d); } 19

Formatiran ulaz / izlaz #include<stdio.h> main() { printf("the color: %s\n", "blue"); printf("first number: %d\n", 12345); printf("second number: %04d\n", 25); printf("third number: %i\n", 1234); printf("float number: %3.2f\n", 3.14159); printf("hexadecimal: %x\n", 255); printf("octal: %o\n", 255); printf("unsigned value: %u\n", 150); printf("just print the percentage sign %%\n", 10); } 20

Formatiran ulaz / izlaz Funkcija scanf čita karaktere sa standardnog ulaza, interpretira ih na osnovu specifikacije navedene format niskom i smešta rezultat na mesta određena ostalim argumentima Funkcija scanf prestaje sa radom kada iscrpi svoju format nisku ili kada neki deo ulaza ne može da se uklopi u shemu navedenu format niskom Funkcija vraća broj uspešno dodeljenih podataka Vrednost 0 se vraća u slučaju da tekući karakter sa ulaza ne može da se uklopi u prvu specifikaciju zadatu format niskom 21

Formatiran ulaz / izlaz Ulaz iz niske i izlaz u nisku: funkcije sprintf i sscanf int sprintf(char *string, const char *format,...) int sscanf(const char* input, const char* format,...) 22

Datoteka Datoteka je niz bajtova Za razliku od preusmeravanja, veći broj ulaza / izlaza uz standardni Binarne i tekstualne datoteke Različiti načini pristupa datotekama 23

Tekstualne datoteke Sadržaj tekstualne datoteke čine vidljivi karakteri, oznaka kraja reda i tabulator Tekstualne datoteke se obično obrađuju red po red (liniju po liniju) Na nekim sistemima kraj reda: dva karaktera (na primer, \r\n na sistemima Windows) jednim karakterom (na primer, sa \n na sistemu Linux) 24

Tekstuelne datoteke C jezik nudi tekstualni mod rada sa datotekama: Pri čitanju i upisu u datoteku vrši se konverzija iz podrazumevanog formata označavanja kraja reda u jedinstven karakter \n Na Windows sistemima: dva karaktera \r\n na kraju reda čitaju se kao \n kada se u datoteku C-programom upisuje \n biće upisana dva karaktera \r\n 25

Binarne datoteke Drugi način pristupa datotekama prilagođen je datotekama čiji sadržaj ne predstavlja tekst i u kojima se mogu naći bajtovi svih vrednosti od 0 do 255 (na primer, jpg ili zip datoteke) Za obradu ovakvih datoteka, jezik C nudi binarni mod rada sa datotekama U ovom slučaju nema nikakve konverzije i interpretiranja karaktera prilikom upisa i čitanja i svaki bajt koji postoji u datoteci se čita doslovno 26

fopen Sve potrebne deklaracije za rad sa datotekama nalaze se u zaglavlju <stdio.h> Da bi se pristupilo datoteci potrebno je povezati je sa programom Bibliotečka funkcija fopen: FILE* fopen(const char* filename, const char* mode); Funkcija fopen dobija kao prvi argument nisku koja sadrži ime datoteke i vraća pokazivač na strukturu koja sadrži sve potrebne informacije o datoteci Pokazivač na strukturu tipa FILE treba da se prosleđuje svim funkcijama koje pristupaju datoteci 27

Fopen - mod Drugi argument funkcije je niska karaktera koja predstavlja način (mod) otvaranja datoteke Ukazuje na to kako će se datoteka koristiti Dozvoljeni modovi uključuju čitanje (read, "r"), pisanje (write, "w") i dopisivanje (append, "a") Ako se datoteka koja ne postoji na sistemu otvara za pisanje ili dopisivanje, onda se ona kreira Ako se postojeća datoteka otvara za pisanje, njen stari sadržaj se briše; ako se otvara za dopisivanje, novi sadržaj se upisuje iza starog 28

Fopen - mod Ako se nepostojeća datoteka otvara za čitanje, dolazi do greške U slučaju greške funkcija fopen vraća NULL Modovi r+, w+ i a+ ukazuju da se datoteka otvara i za čitanje i za pisanje (ili dopisivanje) Binarna datoteke se otvara tako što se na mod dopisuje "b" (na primer, rb, wb, a+b,... ) 29

fclose Kada se C program pokrene, operativni sistem otvara tri toka podataka (standardni ulaz, stadnardni izlaz i standardni izlaz za greške) kao da su datoteke Obezbeđuje pokazivače kojima im se može pristupati Funkcija FILE* stdin; FILE* stdout; FILE* stderr; int fclose(file *fp) prekida vezu između programa i datoteke koju je funkcija fopen ostvarila Dobra je praksa zatvarati datoteke čim prestanu da budu potrebne (ograničenje broja otvorenih datoteka) 30

Primer strukture programa int main(){ FILE *ulaz, *izlaz; ulaz = fopen("ulazna.txt","r"); if(ulaz == NULL) { printf("greska pri otvaranju ulazne datoteke\n"); return -1; } izlaz = fopen("izlazna.txt","w"); if(izlaz == NULL) { printf("greska pri otvaranju izlazne datoteke\n"); return -1; }... fclose(ulaz); fclose(izlaz); return 0; } 31

Datoteka čitanje i upis Čitanje i pisanje sadržaja u datoteku može da se vrši na različite načine Za tekstualne datoteke: karakter po karakter, linija po linija, formatiran ulaz / izlaz Funkcija int getc(file *fp) vraća naredni karakter iz datoteke određene FILE pokazivačem ili EOF u slučaju kraja datoteke ili greške Funkcija int putc(int c, FILE *fp); upisuje dati karakter u datoteku određenu FILE pokazivačem i vraća upisani karakter ili EOF u slučaju greške 32

Feof i ferror Funkcija int feof(file *fp) vraća vrednost tačno (nenula) ukoliko se došlo do kraja date datoteke Funkcija int ferror(file *fp) vraća vrednost tačno (nenula) ukoliko je došlo do greške u radu sa datotekom 33

fgets Funkcija char *fgets(char *line, int maxline, FILE *fp) čita jednu liniju (uključujući oznaku kraja reda) iz datoteke fp i rezultat smešta u nisku line Može da se pročita najviše maxline-1 karaktera Rezultujuća niska završava se karakterom \0 U normalnom toku izvršavanja, funkcija fgets vraća pokazivač na početak linije, a u slučaju kraja datoteke ili greške vraća NULL 34

fputs Funkcija int fputs(const char *line, FILE *fp) ispisuje nisku (ne mora da sadrži oznaku kraja reda) u datoteku Vraća EOF ako dođe do greške, a neki nenegativan broj inače 35

gets / puts Za razliku od funkcija fgets i fputs, funkcija gets briše završni \n, a funkcija puts ga dodaje 36

Formatirani ulaz i izlaz Za formatirani ulaz i izlaz u / iz datoteke mogu se koristiti funkcije fscanf i fprintf Identične funkcijama scanf i printf, osim što je prvi argument pokazivač tipa FILE koji ukazuje na datoteku iz koje se čita, odnosno u koju se piše Format niska je drugi argument int fscanf(file *fp, const char *format,...) int fprintf(file *fp, const char *format,...) 37

fprintf fscanf(stdin, "%d", &a); <=> scanf("%d", &a); fprintf(stdout, "%d\n",a); <=> printf("%d\n",a); fprintf(stderr, "Neispravan unos!\n"); 38

Binarne datoteke Funkcija fread se koristi za čitanje niza slogova iz binarne datoteke Funkcija fwrite za pisanje niza slogova u binarnu datoteku size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream); size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream); 39

Funkcije direktnog pristupa fseek, ftell Funkcija fseek služi za pozicioniranje na mesto u datoteci sa koga će biti pročitan ili na koje će biti upisan sledeći podatak Funkcija ftell vraća trenutnu poziciju u datoteci (u obliku pomeraja od početka izraženog u broju bajtova) Iako primena funkcija ftell i fseek nije striktno ograničena na binarne datoteke, one se najčešće koriste sa binarnim datotekama 40

Функције директног приступа датотекама: fseek int fseek(file *stream, long offset, int origin) Вредност originможе бити SEEK_SET (почетак датотеке), SEEK_CUR (текућа позиција у датотеци) или SEEK_END (крај датотеке). Ове вредности су константе дефинисане у <stdio.h>. Функција fseek враћа вредност 0 ако је позиционирање успешно, а вредност различиту од 0 у случају грешке 41

Функције директног приступа датотекама: ftell long int ftell(file *stream) <stdio.h> Враћа текућу вредност индикатора позиције у датотеци којој је придружен показивач stream. -1L у случају грешке 42

Бинарне датотеке: пример 1 #include <stdio.h> #include <string.h> int main () { FILE *fp; char c[] = "this is tutorialspoint, buffer[100]; /* Open file for both reading and writing */ fp = fopen("file.txt", "w+b"); /* Write data to the file */ fwrite(c, strlen(c) + 1, 1, fp); /* Seek to the beginning of the file */ fseek(fp, 0, SEEK_SET); /* Read and display data */ fread(buffer, strlen(c)+1, 1, fp); printf("%s\n", buffer); fclose(fp); return(0); } 43

Бинарне датотеке: пример 2 #include <stdio.h> int main() { struct S { int broj; int kvadrat; } s; FILE* f; int i; if ((f = fopen("junk", "r+b")) == NULL) { fprintf(stderr, "Greska prilikom otvaranja datoteke"); return 1;} for (i = 1; i <= 5; i++) { s.broj = i; s.kvadrat = i*i; fwrite(&s, sizeof(struct S), 1, f);} printf("upisano je %ld bajtova\n", ftell(f)); fclose(f); } 44

Текстуална датотеке: пример Пример: #include <stdio.h> int main() { FILE *fp; fp=fopen( izlaz.txt, w ); fputs( This is an apple., fp); fseek(fp, 9, SEEK_SET); fputs( sam, fp); fclose(fp); return 0; } This is an apple. This is a sample. 45