[ Bratstvo Jedinstvo @ 04.01.2005. 18:54 ] @
Moze li mi iko pomoci oko rada sa datotekama!? Naime zanima me kako da citam i snimam u datoteke!? U napred hvala |
[ Bratstvo Jedinstvo @ 04.01.2005. 18:54 ] @
[ LOW @ 04.01.2005. 22:58 ] @
Ovako prvo si trebo naglsiti o kom OS-u je rec!!predpostavljam da je to Win!!
Za to postoje ako se nevaram funkcije fwrite i fread fread primer: #include <string.h> #include <stdio.h> int main(void) { FILE *stream; char msg[] = "this is a test"; char buf[20]; if ((stream = fopen("DUMMY.FIL", "w+")) == NULL) { fprintf(stderr, "Cannot open output file.\n"); return 1; } /* write some data to the file */ fwrite(msg, strlen(msg)+1, 1, stream); /* seek to the beginning of the file */ fseek(stream, SEEK_SET, 0); /* read the data and display it */ fread(buf, strlen(msg)+1, 1, stream); printf("%s\n", buf); fclose(stream); return 0; } Borland C++ 5.0 Programmer's Guide fwrete primer: #include <stdio.h> struct mystruct { int i; char ch; }; int main(void) { FILE *stream; struct mystruct s; if ((stream = fopen("TEST.$$$", "wb")) == NULL) /* open file TEST.$$$ */ { fprintf(stderr, "Cannot open output file.\n"); return 1; } s.i = 0; s.ch = 'A'; fwrite(&s, sizeof(s), 1, stream); /* write struct s to file */ fclose(stream); /* close file */ return 0; } Borland C++ 5.0 Programmer's Guide PS izvinite na ovako neurednoj poruci zurim poz:) neka me neko ispravi ako gresim u ovome (ja sam jos pocetnik:)) [ Ivand @ 05.01.2005. 02:06 ] @
e sada nekoliko nacina rada sa fileovima
evo jednog primera u radu sa textualnim fileovima Code: #include<stdlib.h> #include<stdio.h> #include"fun.h" elem *citaj(elem *lst,char *file){ int p; FILE *f1; f1= fopen(file,"r"); while(!feof(f1)){ fscanf(f1,"%d",&p); lst = nakraj(lst,p); } fclose(f1); return lst; } void pisi(elem *lst){ FILE *f2; f2= fopen("file2.txt","w"); while(lst) { fprintf(f2,"%d ",lst->broj); lst = lst ->sled; } fclose(f2); } nadam se da te nece zbuniti korscenje listi u primeru ove dve f-cije [ Bratstvo Jedinstvo @ 05.01.2005. 09:20 ] @
Hvala ljudi, to mi je trebalo. Ipak cu se posluziti Ivand-ovim resenjem, krace je i razumnije. Samo nisam shvatio koje ti je klasa fun.h. Rekao bih da je nesto sto si ti razvijao!?
U medjuvremenu sma iskopao jos jedan od nacina rada sa datotekama. Ispisacu vam funkciju za unos niza int iz datoteke gde je u prvom redu dat broj N koji predstavlja broj clanova niza., mozda nekome pomogne #include<fstream.h> void unos(int niz[],int *n) {ifstream fajl("unos.txt"); fin >> (*n); for(i=0;i<*n;i++) fin >> niz;} moze i sa while-om i sa !feof(fajl) Usput sada se setih jos nesto da vas pitam, ne vezano za datoteke. Zna li iko da li je moguce i na koji nacin ograniciti ili poroduziti niz u toku njegovog koriscena. Ako je neko radio u delphy-ju znace na sta mislim ... tamo postoji naredba setlenght. [ Alef @ 05.01.2005. 10:59 ] @
Citat: Usput sada se setih jos nesto da vas pitam, ne vezano za datoteke. Zna li iko da li je moguce i na koji nacin ograniciti ili poroduziti niz u toku njegovog koriscena. Ako je neko radio u delphy-ju znace na sta mislim ... tamo postoji naredba setlenght. Može… Dinamiči alociraš niz sa: Code: #int size = 10; int *i = (int*)calloc(size, sizeof(int)); pa kad ti treba veći uradiš: Code: size += size; i = (int*)realloc(i, size); [ Dragi Tata @ 05.01.2005. 13:18 ] @
Meni se čini da čovek pita za C++ a vi mu uporno dajete C rešenja (već smo diskutovali o ovoj pojavi).
Za dinamičke nizove u C++, koristi klasu vector. Imaš kraći primer ovde: http://cplus.about.com/od/beginnerctutorial/l/aa050102f.htm [ Bratstvo Jedinstvo @ 05.01.2005. 14:54 ] @
Hvala dragi cale.
Neuk sam sto se tice C-a, tako da ne bih znao da prepoznam razliku izmedju c i c++. Hvala za link. [ slavkot @ 05.01.2005. 17:48 ] @
Citat: Dragi Tata: Meni se čini da čovek pita za C++ a vi mu uporno dajete C rešenja (već smo diskutovali o ovoj pojavi). Za dinamičke nizove u C++, koristi klasu vector. Imaš kraći primer ovde: http://cplus.about.com/od/beginnerctutorial/l/aa050102f.htm Pozdrav, zar se ne može koristiti jednostavniji način za kreiranje dinamičkih nizova u C++, npr. int *j; j=new int [50]; ............ delete [] j; [ Dragi Tata @ 05.01.2005. 18:00 ] @
Pa kako je to jednostavnije nego:
Code: vector<int> j(50); Ne treba ti ni delete, a i automatski se povećava kad naraste preko 50. [ slavkot @ 05.01.2005. 18:05 ] @
Volim kad ovako brzo stigne odgovor
![]() [ MilanMilan @ 10.01.2005. 23:02 ] @
A i u vector mozes da strpas bilo koji tip podataka, cak i neki svoj.
[ ivbrcic @ 11.01.2005. 06:52 ] @
Vec sam stavio jedan primjer kako se to radi u cpp-u.
Idi Pa Vidi... [url] http://www.elitesecurity.org/tema/73886 [/url] [ Ivand @ 11.01.2005. 10:08 ] @
Onaj primer koji sam ti dao to su vezbe iz skole koje sam radio ,
u fun.h nemas nista bitno osim prototipova funkcija koje se koriste. [ Bratstvo Jedinstvo @ 11.01.2005. 11:50 ] @
OK snasao sam se za dinamicke nizove.
Primetio sam da ovde na forumu ljudi dosta mesaju C i C++, tj. ljudi koji znaju C odgovaraju na piatnja vezana za C++. Videh na par mesta da je neko napisao komandu Code: while (!feof(f)) mislim da ovo ne moze da prodje u C++ kompajleru, vec Code: while (!(mojFajl.eof())) { .... } i premetih da ljudi cesto pisu Code: #include<iostream.h> #include<fstream.h> koliko ja znam sve naredbe iz iostreama se nalaze i u fstream-u. Moze li iko da mi objasni upotrebu biblioteka fun.h i studio.h , osim ako su to biblioteke iz cistog C. Pozdrav svima [ Ivand @ 11.01.2005. 18:40 ] @
ponavljam
fun.h je zaglavlje koje sam sam napisao sto ce reci da ne postoji na drugim racunarima i ne postoji kao standardna biblioteka. nije STUDIO nego je stdIO.h STanDard Input Output u njoj se nalaze razne f-cije za rad za ulazom i izlazom recimo printf , scanf ... kompletnu listu mozes pronaci svuda i sve je to vezano za C e sada C++ je samo prosirenje C jezika i donosi nova zaglavlja( biblioteke f-cija) kao sto su IOSTREAM.h koju koristis umesto stdio.h iostream nosi nove f-cije za input/output koje su laske za koriscenje tako da umesto printf iz stdio.h koristis cout iz iostream.h , umesto scanf koristis cin ... postoji jos tih biblioteka f-cija ... primer recimo matematicke f-cije kao sto su stepen(pow) , sinus .... se nalaze u math.h .... etc [ Ivand @ 11.01.2005. 18:46 ] @
I jos nesto sta C++ donosi u odnosu na C
a to je laksi rad sa dinamickom memorijom tako da umesto f-cija malloc za alociranje u c-u postoji new u c++ realloc ne postoji u c++ umesto free dolazi delete ... i tako dalje naravno sintakse za upotrebu ovih f-cija se razlikuju @Dragi tata nigde u gornjem textu nije naznaceno da li se trazilo resenje za C ili C ++ Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|