C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[7385] Re:Re:Re:Pos 사용법...(간단하거든요)==>>흑흑 너무 간단하게 생각 하셨네요...
묻지마 다쳐 [] 2602 읽음    2001-05-11 11:56
강지연 님이 쓰신 글 :
: 왕초보 님이 쓰신 글 :
: : 강지연 님이 쓰신 글 :
: : : visual c++에서 Find는 일반적으로 어떤 문자열에서 자신이 찾고자 하는 문자열의 위치값을 리턴을 하는 것으로 알고 있고 그리고c-builder에서도 Pos가 이와 똑같은 역활을 하고 있는 것으로 알고 있는데
: : : 예를 들어서 visual c++에서는
: : :
: : : int count;
: : : CString aaa("");
: : : aaa="abXXcdefghijkXXlmn";
: : :
: : : count = aaa.Find("TT",4);
: : :
: : : 이런식으로 적으면 count = 13 이 리턴이 됩니다.
: : : 그런데 C-builder에서도 이와 똑같이 사용을 할려고 하는데 c-builder에서는 이와 같은 기능을 지원을 안 하는건지 에러가 처리 되는군요. 혹시 c-builder에서도 find와 같이 사용을 할려면 어떻게 해야 하는지요...
: : :
: : : 아시는분 계시면 좀 가르켜 주세요.
: : : 그럼 오늘 하루도 즐겁게...
: :
: : AnsiString aaa;
: :
: : aaa = "asdfalsjkdTTadfasd";
: :
: : count = aaa.AnsiPos( "TT" );
: :
: : 이렇게 하면 count에 "TT"로 시작하는 시점이 리턴이 될건데여... ㅡ.ㅡ;;
: : 그럼 수고하세여...
: :
: : 근데 위의 구문에서 TT라는 문자가 없는데도 리턴이 되나요..? 이상하당... 제가 visual c++을 잘몰라서리.. ^^;
:
:
:
: 아고 제가 XX를 TT로 잘못 적었네요...
: 근데 제가 물어 볼려고 하는것은 그게 아니고요.
:
:  AnsiString aaa;

:  aaa = "asTTdfalsjkdTTadfasd";

:  count = aaa.AnsiPos( "TT" );
:
: 이렇게 되면 처음에 있는 TT만 찾아지게 되는거잖아요.
: Pos("TT",4);
: 이렇게 하면 4번째 문자 뒤부터 검색을 하는것을 말하는거거든요.
: 그러니까 처음에 있는 TT를 찾는것이 아니라 조건에서 숫자를 주어서 그 숫자만큼 뒤부터 찾는것을 말하는거거든요....
:
: 그리고 질문이 또 한가지가 있는데
: Pos의 기준점은 항상 첫번째부터 시작하는걸로 알고 있는데 이게 첫번째부터가 아닌
: 뒤에서부터 검색이 되게 하는방법은 없는지요.
: 그러니까 VC에서는 ReverseFind라는 것이 있어서 Find 와는 달리 뒤에서부터 앞으로 찾아오는 거거든요.
:
: 그래도 일단은 감사 드립니다.

vc의 CString이 역시 잡스런 함수가 많군요
그런 함수는 대강 만들어 씁시다

먼저 몇번째 후부터 찾기
int PosAfterCount(AnsiString strSource, AnsiString strFind, int nCount)
{
    strSource = strSource.SubString(nCount+1, strSource.Length()-nCount);
    return(strSource.Pos(strFind));
}

문자열 뒤집기
void _reverse(AnsiString& str_src)
{
   AnsiString str_tmp;
   char* char_src = str_src.c_str();

   int len = str_src.Length();
   len--;

   for(int i= len; i>=0; i--)
   {
      str_tmp = str_tmp + char_src[i];
   }

   str_src = str_tmp;

}

뒤집은 담에 Pos쓰면 값이 나오겠죠?

+ -

관련 글 리스트
7368 Pos 사용법...(간단하거든요) 강지연 2085 2001/05/11
7370     Re:Pos 사용법...(간단하거든요) 왕초보 2607 2001/05/11
7372         Re:Re:Pos 사용법...(간단하거든요)==>>흑흑 너무 간단하게 생각 하셨네요... 강지연 2751 2001/05/11
7385             Re:Re:Re:Pos 사용법...(간단하거든요)==>>흑흑 너무 간단하게 생각 하셨네요... 묻지마 다쳐 2602 2001/05/11
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.