[ android~paranoid @ 14.04.2006. 09:15 ] @
Treba da nadjem odredjenu rec u tekstualnoj datoteci (kod je u pitanju-nije ni bitno)
i pre njega da ispisem svoj neki tekst. Znaci sve ono ispod te reci ukljucujuci i
tu rec treba da bude ispod ovog mog teksta. Sa fgets mogu da iscitavam svaku liniju
i sa strstr da ispitam da li je to ta rec. Sta da radim posle toga?
Mogao bih sa ftell da zapamtim tu poziciju, onda bih trebao da krenem da stavljam
u neki bafer taj preostali deo, i da izbrem sve to, ili kako je najefikasnije?

Kako se uopste brise iz tesktualne datoteke ili binarne?
[ android~paranoid @ 18.04.2006. 12:01 ] @
Nesto sam i uspeo, posto mi upropasti datoteku kad mu kazem da pise od nekog reda do kraja datoteke(izbrise EOF i napravi od nje ~150MB), onda sam pokusao da pise samo do odredjenog dela i to iz jedne datoteke u drugu. On to odradi, jer ne ide do EOF, ali mi ipak ispise onu gresku u XP-u, da li mozda zato sto cita do EOF ovu datoteku iz koje upisujem, ali ipak ne bi trebalo. Predvidjeno je valjda da se sa ftell i fseek moze to uraditi, a sad sto citam iz jedne datoteke sa getc(znaci karakter po karakter) mislim da ne treba da bude problem. Kad bi uspeo to da uradim onda bi izracunao mesto odakle treba da pisem do EOF i ispisao karaktere, a posle bi otvorio datoteku sa A (kao append) i onda bi ona sama pomerila EOF.

Code:
while ((c=getc(datoteka)!=EOF)...
[ NrmMyth @ 18.04.2006. 19:04 ] @
S kolikom datotekom namjeravas raditi?
Ako stane u memoriju, ucitaj je cijelu i radi s njom kao s nizom. Kasnije je vratis u datoteku, promjenjenu.
[ android~paranoid @ 19.04.2006. 10:20 ] @
Pametno. Probacu, a ako ne budem mogao sa jednim mogu u vise nizova. Jednom sam pokusao da definisem niz od 200.000 karaktera, to nije mogao odraditi. Koliki je limit i od cega zavisi?
[ NrmMyth @ 19.04.2006. 11:23 ] @
200.000 charova, cudno, morao bi ti proci i da ga stavis na stack

Ovisi o puno stvari... otvori novu temu, pa ce se naci ljudi da ti objasni, ja ne mogu sad, a i ne znam kako windows dodljeljuje raspolozivu memoriju aplikacijama.

pozdrav
[ z@re @ 19.04.2006. 15:55 ] @
Probaj sa dinamickom alokacijom

Code:

char *niz = (char *)malloc((sizeof(char) * 200000) + 1);
if(niz == NULL) printf("greska u alokaciji\n");