|
TStringList에서 LoadFromFile을 하면 지가 알아서 끝까지 읽어서 Strings에 저장됩니다
왜.그렇게 코딩 했는지 모르겠군요.
TStringList *s = new TStringList;
//-- 파일 읽기
s->LoadFromFile("c:\\test.txt");
for(int i=0; i<s->Count; i++)
{
// 파일내용을 한줄씩 체크하여 처리하기
// 각각의 내용은 s->Strings[i] -> AnsiString형입니다
}
delete s;
이런식으로 써야 되는거 아닌가요?
민배현 님이 쓰신 글 :
: AnsiString str;
: TStringList *s = new TStringList;
:
: if(OpenDialog1->Execute())
: fp=OpenDialog1->FileName.c_str();
:
: ifstream fin1;
: fin1.open(fp);
:
: if(fin1.is_open())
: {
: s->LoadFromFile(fp);
:
: int i;
: i=0;
: do
: {
: str = s->Strings[i]; //한줄씩 읽기
: i++;
: } while(!fin1.eof());
:
: }
:
: while 문에서 문장 계속 잘 읽어들어가다가, Open했던 File의 끝이 나와서 더 이상 읽을 문장이 없으면 while문을 벗어나야 하는데, 마지막에 while (!fin1.eof() ) 에서 에러가 납니다. 이유가 뭘까요?
|