제가 빌더6.0을 사용하고 있는데요.
w_str() 은 없는데요.
c_str() 로 바꿔서 해 보았는데 해당 루틴으로 적용이 안되서...
unsigned sort w;
String s1,s3;
s3 = "";
s1 = ss.SubString(1,n-1);
w = *s1.SubString(1,1).c_str();
if( w == 0x3131 || (0xAC00 <= w && w < 0xAC00+0x24c))
{
c++;
//port[chan].pos++;
s3 += s1;
}
else
{
}
빌더초보 님이 쓰신 글 :
: 한글 자모 코드 표 링크
: http://www.unicode.org/charts/PDF/U1100.pdf
:
: 한글 음절 코드 표 링크
: http://www.unicode.org/charts/PDF/UAC00.pdf
:
: unsigned short w = *Edit1->Text.SubString(1,1).w_str();
:
: if (w == 0x3131 || (0xAC00 <= w && w < 0xAC00+0x24C)) {
: ShowMessage((wchar_t)0x3131);
: }
:
: 링크 참조하셔서 위처럼 코드 범위로 구분하시면 됩니다.
:
: 근데 자모코드 표에는 ㄱ이 1100 이라고 나와 있는데, 실제로는 3131 이더군요.
: 컴파일러의 유니코드 버전차이(?) 인것같은데 자세히는 모르겠네요.
:
: 폼에 TEdit 를 두개 올리시고 Edit1Change에 아래와 같이 쓰고 테스트 해보세요.
: void __fastcall TForm1::Edit1Change(TObject *Sender)
: {
: wchar_t *w=Edit1->Text.w_str();
: Edit2->Text="";
: for (int i = 0; i < Edit1->Text.Length(); i++) {
: Edit2->Text=Edit2->Text+", "+IntToHex((unsigned short)w[i],4);
: }
: }
:
: 24C의 의미는... 전체를 다 확인해 본것은 아닌데 하나의 자음에 할당되는 음절의 갯수는 24C 개 더군요.
: 아마 조합할수 있는 모든 경우의 수가 24C 개 인가 봅니다. 아닐수도 있고요 ㅎㅎ;
:
: 그럼..
:
:
:
:
:
:
:
:
: 하안인 님이 쓰신 글 :
: :
: : 기린, 미역, 기사, 등등
: :
: : 의 문자열이 있을 경우 ㄱ 으로 시작되는 문자열을 찾으려면 어떻게 해야 하나요.
: :
: : 한문자이면 문자열 검색으로 하면 되는데 ....
|