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
[74644] Re:Re:안녕하세요. 질문이 있습니다.
SHAWN [clarinet87] 3392 읽음    2017-11-03 17:16
몰랐던 기능을 하나 배워갑니다.
대답해주셔서 감사합니다.
좋은하루 되세요.

정성훈.해미 님이 쓰신 글 :
: 원데이터가 1바이트단위의 숫자배열이라면
: 파싱없이 그냥 단순 변환만으로 간단하게 문자열 처리가 되겠지만
:
: 원하시는 것처럼 원데이터가 문자로표시된 숫자를 파싱해주는 함수는 없습니다.
:
: 공백으로 구분하여 나눈 후 그문자를 숫자로 변환하고
: 그것을 char에 넣는 지금의 방법을 그대도 사용하세요.
:
: 대신 일일이 합칠 필요는 없습니다.
: char배열에 순서대로 넣은 후 그걸 String으로 변환하면 끝납니다.
:
: 예)
:
: UnicodeString PasingData;
: TStringList *lst = new TStringList;
:
: // 공백으로 구분해서 문자열을 나눔
: lst->Delimiter = ' ';
: lst->DelimitedText = "60  63  120  109  108  32  118  101  114  115  105  111  110  61  34  49  46";
:
: // 변환할 숫자 개수+1만큼 char배열을 만든다,
: char *Data = new char[lst->Count+1];
:
: // 문자열숫자를 변환
: for(int i=0; i<lst->Count; i++)    {
:     Data[i] = lst->Strings[i].ToIntDef(0);
: }
: Data[lst->Count] = 0x00;
:
:  // char문자열을 String로 변환
: PasingData = UnicodeString(Data);    
:
: // 메모리 삭제
: delete Data;
: delete lst;
:
:
: PasingData 가 변환된 결과 문자열입니다.
:
:
: 이걸 함수로 만들어 쓰시면 될거 같은데요.
:
: UnicodeString DecStr2Str(UnicodeString ADecStr)
: {
:     UnicodeString PasingData;
:     TStringList *lst = new TStringList;
:
:     lst->Delimiter = ' ';
:     lst->DelimitedText = ADecStr;
:
:     char *Data = new char[lst->Count+1];
:
:     for(int i=0; i<lst->Count; i++)    {
:         Data[i] = lst->Strings[i].ToIntDef(0);
:     }
:     Data[lst->Count] = 0x00;
:
:     PasingData = UnicodeString(Data);    
:
:     delete Data;
:     delete lst;

:     return PasingData;
: }
:
:
:
:
: SHAWN 님이 쓰신 글 :
: : 안녕하세요.
: :
: : 아래와 같은 코드가 있습니다.
: :
: : ex)
: : 60  63  120  109  108  32  118  101  114  115  105  111  110  61  34  49  46
: : <    ?     x      m     l    SP   v     e      r      s      I     o      n     =    "    1    .     
: :
: : 이것은 십진수로 저는 각 숫자를 읽어들여 char로 바꾸고 그런다음 char를 합쳐서 문자열을 만듭니다.
: :
: : 그래서 완성한 데이터를 읽어서 분석을 하는데.
: :
: : 문득 궁금한점이 생겨서.... 위와같은 십진수 코드를 제가 현재 작업하는 것처럼 하나하나 읽어서
: :
: : char로 바꾸고 그런다음 하나하나 더해서 문자열을 만드는게 아닌,
: :
: : 위에것을 한번에 처리하는 윈도우 함수나 라이브러리가 있는지 궁금해서 글을 올립니다.
: :
: : 이상 감사합니다.

+ -

관련 글 리스트
74642 안녕하세요. 질문이 있습니다. SHAWN 3338 2017/11/03
74643     Re:안녕하세요. 질문이 있습니다. 정성훈.해미 3332 2017/11/03
74644         Re:Re:안녕하세요. 질문이 있습니다. SHAWN 3392 2017/11/03
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.