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
[37786] Re:Re:Re:AnsiString에 대한 질문
김용수 [heredity] 1018 읽음    2004-10-28 14:44
날씨가 울 와이프 처럼 많이 쌀쌀해 졌네요(-_-;;)
안녕하세요. heredity입니다.

특별히 AnsiString에 대해 설면 드릴 건 없고...
AnsiStirng의 도움말을 읽어 보세요.

아래는 Button1을 누르면 "나는 ..."
에 대한 글자 정보(한글(2Byte문자), 1Byte문자)를
보여주는 예 입니다.
참고로 AnsiString에서 문자열의 선두 위치(메모리 상의 위치)를
얻으려면 PCHAR pchStr = asStr.c_str()과 같이 사용합니다.
기타 문자열 관련 유용한 기능이 많이 있으니
직접 테스트해 보시기 바랍니다.

행복하세요

//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  AnsiString asKind = "";
  AnsiString asStr  = "나는\t바보다 so you are..ㅎ ㅎ ㅎ";
  PCHAR      pchStr = (PBYTE) asStr.c_str();
  int        nStr   = asStr.Length();
  char       chChar;

  for( int nI = 0; nI < nStr; nI++ ) {
    chChar = pchStr[nI];

    if( (BYTE) chChar >= (BYTE) 0x80 ) {
      nI++;
      asKind += "'" + asStr.SubString( nI, 2 ) + "':한글 \r";
    }
    else if( (chChar == ' ')  |  (chChar == '\t') ) {
      asKind += "'" + AnsiString( chChar ) + "':SP or TAB \r";
    }
    else {
      asKind += "'" + AnsiString( chChar ) + "':1Byte문자 \r";
    }
  }

  ShowMessage( asKind );
}
//-----------------------------------

님이 쓰신 글 :
: 김용수 님이 쓰신 글 :
: : 질문에 대한 이해가 잘 안가지만
: : (한글, 영문 뒤의 Space 비교에 대하여 조금더 구체적으로 써 주세요
: : 어떤 일을 어떻게 처리하려고 하는데 어떤 부분이 문제가 발생하는지...)
: : 경험상 AnsiString에서 한글과 영문 처리시
: : 별다른 문제가 없었습니다.
: :
: : 행복하세요.
: : 초보 님이 쓰신 글 :
: : : 메모장에 한글과 영문을 섞어쓴뒤,
: : :
: : : space를 "  " 로 주고
: : :
: : : if( string !=" ")
: : : .....
: : : else if( string ! == " ")
: : : ................
: : : 라고 주면,
: : :
: : : 한글 뒤에 붙어있는 space는 if문에 걸리는데,
: : : 영문 뒤에 붙어있는 space는 왜 안걸릴까요?
: : : AnsiString은  space를 어떻게 인식하나요?
:
: 그러니깐
: 나는 바보다 so you are..
: 이런 문장을 주면,
: if(string != " ")에서
: 나는까지 된후 " "걸려서
: else if(string == " ")문으로 가는데,
: 그 뒤의 문장인 바보다 이후에 나오는 " "는
: else if문에 걸리지 않고 바로 if문으로 가버립니다.

+ -

관련 글 리스트
37779 AnsiString에 대한 질문 초보 861 2004/10/27
37780     Re:AnsiString에 대한 질문 김용수 890 2004/10/28
37781         Re:Re:AnsiString에 대한 질문 789 2004/10/28
37786             Re:Re:Re:AnsiString에 대한 질문 김용수 1018 2004/10/28
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.