|
안녕하세요...
제가 하고 싶은것은..
abc 라는 디렉토리에... 파일이 1.txt,2.txt,3.txt,4.txt,5.txt ...있습니다 (무한개는 아님)
각 파일 안에는 특정 문자열이 있을수도 있고 없을수도 있습니다.(특정 문자열이 여러개 있을수도 있음)
각 파일에서 특정 문자 문자열 들을 읽어 그 디렉토리 아래에 temp 디렉토리를 만들고 각각의 파일 이름으로 특정 문자 열을 저장하는것 입니다.
예를 들면..
1.txt 안에 내용이 -> 오오 (필승) 코리아 (오오) 필승 코리아
2.txt " " -> (코리아) 원더플
3.txt " " -> 오오 (통재라)
"
"
이런식일때...만약에 () 안에 들어 있는 내용을 찾으로고 하면
결고가 이런식으로 됩니다.( C:\ex\temp\1.txt 안에 내용이 -> (필승)
(오오)
C:\ex\temp\2.txt 안에 내용이 ->(코리아)
C:\ex\temp\3.txt 안에 내용이 ->(통재라)
()이 한개 일때는 할수 있겠는데..두개 이상 되니까..구현하기 힘드네요
void __fastcall TForm1::Button1Click(TObject *Sender)
{
AnsiString currpath,Filename,SaveEn,FileSv;
int Enps1,Enps2;
int inFile;
char *pszBuffer;
int iFileLen;
TSearchRec sr;
Memo1->Clear();
if(FindFirst("c:\\ex1\\*.txt",faArchive,sr)==0)
{
do{ Memo3->Clear();
Memo1->Lines->Add(sr.Name);
currpath="c:\\ex1\\";
Filename=currpath+sr.Name;
inFile=FileOpen(Filename.c_str(),fmOpenReadWrite);
iFileLen=FileSeek(inFile,0,2);
FileSeek(inFile,0,0);
pszBuffer =new char[iFileLen+1];
FileRead(inFile,pszBuffer,iFileLen);
SaveEn=pszBuffer;
Enps1=(SaveEn.AnsiPos("("));
Enps2=(SaveEn.AnsiPos(")"));
SaveEn.SubString(Enps1,Enps2-(Enps1-1));
Memo3->Lines->Add(SaveEn.SubString(Enps1,Enps2-(Enps1-1)));
Filename=currpath+"temp";
Memo3->Lines->SaveToFile(sr.Name);
delete[] pszBuffer;
FileClose(inFile);
}
while(FindNext(sr)==0);
}
FindClose(sr);
}
제가 짠것은 이런식인데..이 이상 어떻게 해야 될지 모르겟어요..
고수님들 부탁드립니다
|