[ memo23 @ 09.04.2008. 13:50 ] @
Pozdrav,

potrebna mi je pomoc oko izlistavanja sadrzaja direktorija,
znaci ako directory ima neke fajlove u sebi treba da se izlistaju,a ako nema fajlova da se kaze da je directory empty....
ako neko zna molio bi da napise tu "funkciju", ili link ili sta god vec...
[ X Files @ 09.04.2008. 14:28 ] @
Pretrazi ceo forum po kljucnim recima: findfirst findnext

Videces, imam sasvim dovoljno primera.

VCL
http://www.elitesecurity.org/t176155-0#1144651

C runtime
http://www.elitesecurity.org/t155066-0#1011079

Win32 API
http://www.elitesecurity.org/t116947-0#759098
[ memo23 @ 10.04.2008. 08:37 ] @
e hvala ti, nasao sam sta mi treba...

imam sljedece pitanje za tebe x files.
kako mogu da otvorim velike txt fajlove.
na primjer ako je txt fajl velik nekih 200 mb do 1 g moja aplikacija ne moze da to otvori...
da li ima neka druga logika za to, jer ocito moja logika za otvaranje velikih fajlova ne radi...
mislim da mogu da otvorim fajl ako je taj fajl velicine do nekih 10 mb preko ne mogu...
znaci pitanje je dali ima neka logika za otvaranje tih fajlova ili dali bi mogao da nekako uzimam dio po dio tog velikog fajla i da ga obradjujem...
ako imas nesto (bilo sta) za ovo, postavi...

pozdrav...
[ X Files @ 10.04.2008. 08:49 ] @
Citat:
memo23:
kako mogu da otvorim velike txt fajlove.
na primjer ako je txt fajl velik nekih 200 mb do 1 g moja aplikacija ne moze da to otvori...

Svaki fajl na disku je predviđen za čitanje i/ili pisanje i tu ne postoji problem. Problem može biti u načinu kako pristupaš fajlu ondnosno kako ga handle-uješ.

Npr, ako hoćeš 1GB teksta da učitaš u TMemo ili nešto slično, definitivno neće raditi. To je ograničenje same kontrole i/ili raspoložive memorije.

Kada otvoriš neki fajl sa:

fopen() // C Runtime
ifstream() // STL
FileOpen() // VCL
OpenFile() // Win32API
TFileStream::NekaMetodaZaUcitavanje() // VCL

... ti zapravo ne učitavaš CEO fajl, već je sve to pod kontrolom OS-a, pri čemu se fajl čita blok po blok, pa stoga ne može doći do greške.

Moraš da kažeš konkretno šta želiš da uradiš, barem uprošćeno da bi mogli dalje razgovarati.


[ savkic @ 10.04.2008. 11:12 ] @
> fopen() // C Runtime
> ifstream() // STL
> FileOpen() // VCL
> OpenFile() // Win32API
> TFileStream::NekaMetodaZaUcitavanje() // VCL

Dodao bih da ako se radi o prostom čitanju, najbolje se pokazalo otvaranje preko memory mapped fajlova, ako se koristi VCL postoji i klasa TJclMappedTextReader (iz Jedi biblioteke) ili direktno WinApi, CreateFileMapping, MapViewOfFile itd.
[ memo23 @ 10.04.2008. 12:21 ] @
pozdrav,

koristim ifstream za citanje fajla, i normalno sve radi kada se radi o malim fajlovima,
medjutim kada hocu da otvorim neki veci fajl (recimo preko 20 mb) onda nastane problem...
ne mogu ga nikako da otvorim da ga procitam..
evo mog dijela koda sto se tice otvaranja fajla za citanje:

...
ifstream fin(argv[1]);
...
if (!fin.fail())
{ ..
//radi nesto
}
else
{
cout << "ERROR:\nUnable to open input file: " << argv[1] << endl;
}

i znaci kada hocu da otvorim veci fajl samo mi se ispise ova poruka "ERROR:\nUnable to open input file: "

izgleda da je do mene...
pa ako moze pomoc bilo bi dobro...
[ memo23 @ 11.04.2008. 12:43 ] @
evo nesto sam skontao...

#include<fstream.h>
int main()
{
char str[2000];
fstream file_op("c:\\test_file.txt",ios::in);
while(file_op >> str)
cout << str ;

file_op.close();

return 0;
}