|
매번 도움만 받네요 ^^
염치없이 또.....
어떤 텍스트 파일의 내용중 특정한 문자열을 찾아 특정한 문자로 바꾸려고 합니다.
해당 텍스트파일의 내용중 abc 라는 문자열은 모두 AAAA 로 바꾸고 싶습니다.
저는
void __fastcall TForm1::Button2Click(TObject *Sender) //문자 바꾸기
{
int ChrLength;
AnsiString InChr;
ChrLength = Edit1->Text.Length(); //변경 할 문자 길이
InChr = Edit1->Text ; //변경 할 문자
for(int i = 0; i < iFileLength; i++) //iFileLength는 OpenDialog를 이용하여 텍스트파일 내의 모든 문자수를 저장함
{
for(int j = 0; j < ChrLength; j++)
{
SearchString = SearchString + pszBuffer[i+j]; //pszBuffer에 텍스트파일의 문자내용을 저장함 (char단위)
}
if(SearchString == InChr) //입력한 문자와 검색한 문자가 같다면
{
retVarSeek = FileSeek(iFileHandle,i,0);
retVarWrite = FileWrite(iFileHandle,Edit2->Text.c_str() ,Edit2->Text.Length() );
}
else //입력한 문자와 검색한 문자가 같지않다면 다음 비교를 위해 초기화
{
SearchString = "";
}
}
}
이렇게 프로그램을 했는데요.. 문제는 텍스트파일의 내용중 abc 를 AAAA 로 바꾸는 과정에서 abc 내용 다음에 저장되어있는 문자가 A로 바뀐다는 것입니다. 제가 원하는건 abc문자만 AAAA로 바꾸고 abc 다음에 있는 문자는 바꾸고싶지 않거든요..
쉬운방법 없을까요..
|