newtype
::: newtype의 지식창고 :::
newtype
전체 방문자
오늘
어제
  • 분류 전체보기 (392)
    • Dev (214)
      • C, C++ (43)
      • Go (5)
      • Web (49)
      • DBMS (21)
      • DevOps (8)
      • Java (2)
      • Windows, Win32 (4)
      • Visual Basic (5)
      • C# (2)
      • Mobile (25)
      • SQL CE (7)
      • Google Map (6)
      • Python (2)
      • cygwin (2)
      • 기타 (32)
      • Ruby (1)
    • 명언 (10)
    • 모임 (18)
      • 붕주회 (3)
      • 신흥컴정 (14)
      • 웹20기 (1)
    • 사진 (8)
    • 불펌 (29)
    • 막글 (98)
    • 게임 (6)
    • 여행 (8)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • 관리

공지사항

  • whoami
05-18 11:12
hELLO · Designed By 정상우.
newtype

::: newtype의 지식창고 :::

Dev/C, C++

LPTSTR 자료형의 문자열 치환

2004. 7. 28. 20:55
UINT Replace( LPTSTR target, LPCTSTR source, LPCTSTR find, LPCTSTR replace )
{
       UINT i, nCount=0;
       BOOL bFind;
       LPCTSTR ps, pf;
       LPTSTR buf=NULL, pt = target;

       size_t nLenSrc = _tcslen( source );

       buf = new TCHAR[nLenSrc+1];
       if ( buf == NULL )
               return NULL;

       _tcsncpy( buf, source, nLenSrc );
       buf[nLenSrc] = 0;


       for(ps=buf; *ps; ps++)
       {
               if ( find[0] == *ps )
               {
                       bFind = TRUE;
                       for(pf=find+1, i=1; *pf; pf++, i++)
                       {
                               if ( *pf != ps[i] )
                               {
                                       bFind = FALSE;
                                       break;
                               }
                       }

                       // 찾았다!
                       if ( bFind )
                       {
                               for(pf=replace; *pf; pf++)
                                       *(pt++) = *pf;
                               ps += (--i);

                               nCount++;

                               continue;
                       }
               }

               *(pt++) = *ps;
       }

       *pt = 0;

       delete[] buf;

       return nCount;
}
반응형

'Dev > C, C++' 카테고리의 다른 글

소스상에서 lib링크 하기  (0) 2006.07.07
socket 타임아웃처리  (0) 2006.07.07
UTF8, 유니코드, 아스키 파일의 구별  (0) 2004.01.03
항상 위 효과 내기  (0) 2003.07.18
문자열 분할시, 특정 번째 문자열 얻기  (0) 2003.07.18
    'Dev/C, C++' 카테고리의 다른 글
    • 소스상에서 lib링크 하기
    • socket 타임아웃처리
    • UTF8, 유니코드, 아스키 파일의 구별
    • 항상 위 효과 내기
    newtype
    newtype
    지극히 개인적인 지식의 창고

    티스토리툴바