4th Dimension
23.7.2008, 15:19
Radim neki programčić koji treba da učita fajl, obradi ga i sačuva ga kao novi, ali zapeo sam na početku. Neće eof funkcija da mi radi kako treba.
Ovo je programčić koji bi trebao biti izvršen kada kliknem na dugme (poslije što se fajl selektuje.)
void __fastcall TForm1::Button2Click(TObject *Sender)
{
AnsiString pokusaj;
pokusaj="Nista.";
char bafer[100];
int a=1;
Label1->Caption="Radi li ovo";
if(OpenDialog1->Execute()){
Label1->Caption="Exec";
ifstream aopen;
Label1->Caption="AAAA";
aopen.open(OpenDialog1->FileName.c_str());
Label1->Caption="Otvoren fajl";
aopen>>bafer;
Label1->Caption="Prva rec ucitana";
while(!pretraga(bafer)){
aopen>>bafer;
a++;
Label1->Caption=IntToStr(a)+"rec ucitana";
}
Label1->Caption="Nadjen pocetak";
Memo1->Text="";
while(!aopen.eof()){
aopen>>bafer;
pokusaj=bafer;
Label1->Caption="Stampam";
Memo1->Text=Memo1->Text+pokusaj;
}
}
}Ovako kako sad stoji Program se zamrzne poslije što u Label upiše Radi li ovo. Ukoliko uklonim onaj poslendji while i mogu da ga zamjenim bilo kojim drugim outputom (recimo for petlja koja izbacuje prvih 10 riječi) sve radi cakum pakum.
Imam užasan utisak da previđam nešto veoma osnovno.
Primjetiti da sam sa fstream počeo raditi tek odnedavno. Dosadašnje iskustvo u radu sa fajlovima zasniva se na FILE sistemu.
Inače testirao sam eof koristeći programčić sa ove strane: http://www.bgsu.edu/departments/compsci/docs/read.html
doduše malo sam ga prepravio bio da radi sa riječima a ne brojevima, ali tada je prokletinja upala u beskonačnu petlju.
Da li neko primjećuje šta sam zabrljao?
Inače kao da do sada niste to primjetili u pitanju je C++
Ovo je programčić koji bi trebao biti izvršen kada kliknem na dugme (poslije što se fajl selektuje.)
void __fastcall TForm1::Button2Click(TObject *Sender)
{
AnsiString pokusaj;
pokusaj="Nista.";
char bafer[100];
int a=1;
Label1->Caption="Radi li ovo";
if(OpenDialog1->Execute()){
Label1->Caption="Exec";
ifstream aopen;
Label1->Caption="AAAA";
aopen.open(OpenDialog1->FileName.c_str());
Label1->Caption="Otvoren fajl";
aopen>>bafer;
Label1->Caption="Prva rec ucitana";
while(!pretraga(bafer)){
aopen>>bafer;
a++;
Label1->Caption=IntToStr(a)+"rec ucitana";
}
Label1->Caption="Nadjen pocetak";
Memo1->Text="";
while(!aopen.eof()){
aopen>>bafer;
pokusaj=bafer;
Label1->Caption="Stampam";
Memo1->Text=Memo1->Text+pokusaj;
}
}
}Ovako kako sad stoji Program se zamrzne poslije što u Label upiše Radi li ovo. Ukoliko uklonim onaj poslendji while i mogu da ga zamjenim bilo kojim drugim outputom (recimo for petlja koja izbacuje prvih 10 riječi) sve radi cakum pakum.
Imam užasan utisak da previđam nešto veoma osnovno.
Primjetiti da sam sa fstream počeo raditi tek odnedavno. Dosadašnje iskustvo u radu sa fajlovima zasniva se na FILE sistemu.
Inače testirao sam eof koristeći programčić sa ove strane: http://www.bgsu.edu/departments/compsci/docs/read.html
doduše malo sam ga prepravio bio da radi sa riječima a ne brojevima, ali tada je prokletinja upala u beskonačnu petlju.
Da li neko primjećuje šta sam zabrljao?
Inače kao da do sada niste to primjetili u pitanju je C++