|
이렇게 하면 안될까요?
TStringList* pList;
pList = new TStringList();
pList->LoadFromFile("파일명");
TReplaceFlags rf;
rf = rf << rfReplaceAll;
pList->Text = StringReplace(pList->Text, "abc", "AAAA", rf );
pList->SaveToFile("파일명")
delete pList;
pList = NULL;
테스트는 안해봤습니다 ^^;
사랑니 님이 쓰신 글 :
: 매번 도움만 받네요 ^^
: 염치없이 또.....
:
: 어떤 텍스트 파일의 내용중 특정한 문자열을 찾아 특정한 문자로 바꾸려고 합니다.
: 해당 텍스트파일의 내용중 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 다음에 있는 문자는 바꾸고싶지 않거든요..
: 쉬운방법 없을까요..
|