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
[60284] Re:Re:Re:Re:Re:황당한 일이 생겨서리...
Nibble [gameover] 1326 읽음    2010-02-22 12:54
에러를 봐야 하는 경우도 있죠.
물론 에러를 보고 싶지 않다면,
str.SubString(4, str.Length() - 3).ToIntDef(0);
하면됩니다. 굳이 atoi 쓸 필요 없이 말이죠.

Lynx 님이 쓰신 글 :
: AnsiString str = "abc1234";
: int ibuff  = atoi(str.SubString(4, str.Length() - 3).c_str());
: //-- 이렇게 변환하면 변환에러 없습니다. 설혹 문자가 포함되어 있더라도 0으로 리턴 합니다.
:
: Nibble 님이 쓰신 글 :
: : 성호님이 조언해 주셨지만,
: : 코드에 사족이 많네요.
: :
: : AnsiString str = "abc1234";
: : int ibuff  = str.SubString(4, str.Length() - 3).ToInt();
: :
: : 하시면 될겁니다.
: :
: : 장성호 님이 쓰신 글 :
: : : 제가 2009를 써보지 않아서 정확히 테스트 해 확인해 봐드릴수가 없기는 한데요
: : :
: : : 2009부터 String을 기본적으로
: : : AnsiString이 아니라 UnicodeString입니다.
: : : 알파벳이나 숫자 한개라도  1Byte이상이 됩니다.
: : : 그래서 짤리는것 같네요
: : :
: : : StrToInt함수는 어떻게 되어있는지 궁금하네요
: : : char buffer를 AnsiString으로 변환하는지...
: : :
: : : 위 코드에서 String을 AnsiString으로 바꿔서 해보세요
: : :
: : : 음 그리고
: : : 배포할때 runtime-package를 off 해야되는것은 아닙니다.
: : : dll이나 bpl없이 실행파일 딱 하나만 배포하고자 할때  runtime-package를 off하는것입니다.
: : :
: : : 개인적으로 runtime-pakcage를 on해서 배포하는것을 권합니다.
: : : 실행파일 size도 작아지고 dll이나 bpl모듈이 들어갈경우 해당 모듈만 수정및 업그레이드가 용이하구
: : : 특히 dll(bcb로 만든) 을 쓸경우 runtime-package를 사용하지 않으면 여러가지 심각한 문제가 많이 발생합니다.
: : :
: : : 그럼..
: : :
: : :
: : :
: : : 한수동 님이 쓰신 글 :
: : : : 흠.. 저는 4자리 3자리 전부 잘 뜨는데요;;
: : : :
: : : : 에러가 뜨는것은 제가 왜그런지 잘 모르겠지만
: : : :
: : : : 프로그램을 배포하실때 런타임 패키지 체크박스를 꺼야 되는것은 알고있습니다
: : : : 그리고 C++ Linker의 Dynamic RTL도 false로 맞추어야 되구요
: : : :
: : : : 체크박스를 껐다가 다시 켰는데도 에러가 나는 부분도 잘 모르겠군요;
: : : :
: : : : 죄송합니다 제가 초보라 이정도 밖에 알려 드릴수가 없네요
: : : : 한번 프로젝트를 새로 다시 만들어서 소스를 복사한다음 다시 해보세요 그러면 될 수도 있어요 저도 가끔 그러거든요;
: : : :
: : : :
: : : : 복이 님이 쓰신 글 :
: : : : : 안녕하세요.. 조금 황당한 일이 생겨서그러는데 도움 좀 부탁드립니다..
: : : : :
: : : : : 프로젝트를 생성해서 코딩 후 IDE가 있는 컴에서 실행하면 정상적으로 동작하는데, 다른 컴퓨터로 파일을 옮겨서 실행 시키면 error를 뿌립니다.. 아래는 코딩한 코드입니다...(개발툴은 C++빌더2009입니다.)
: : : : :
: : : : :     String str = "abc1234";
: : : : :     char buff[20];
: : : : :     int ibuff;
: : : : :
: : : : :     memset(buff, 0, sizeof(buff));
: : : : :     strncpy(buff, str.t_str()+3, 4);
: : : : :     ibuff = StrToInt(buff);
: : : : :     Label1->Caption = ibuff;
: : : : :
: : : : : 이상하게도 str의 숫자부분이 3자리 숫자 이하이면 정상으로 출력이 되는데, 4자리 숫자가 되면 첨부파일 처럼 error를 뿌립니다.. 그래서, runtime package부분의 check를 해제 시킨 후 컴파일, 실행시키면 또, 정상적으로 실행됩니다...
: : : : :
: : : : : 이런, 어디에다 장단을 맞추어야 할지...
: : : : :
: : : : : 또, runtime package부분의 check를 해제 시켰다가 다시 check를 한 상태에서 컴파일 하면 링크 에러가 발생합니다..
: : : : : 얘는 저를 더 미치게 합니다..
: : : : :
: : : : : 무엇때문에 이런 현상이 발생하는지 고수님들이 조언을 부탁드립니다..

+ -

관련 글 리스트
60276 황당한 일이 생겨서리... 복이 1630 2010/02/21
60277     Re:황당한 일이 생겨서리... 한수동 1393 2010/02/21
60278         Re:Re:황당한 일이 생겨서리... 장성호 1605 2010/02/22
60282             Re:Re:Re:황당한 일이 생겨서리... Nibble 1468 2010/02/22
60283                 Re:Re:Re:Re:황당한 일이 생겨서리... Lynx 1378 2010/02/22
60284                     Re:Re:Re:Re:Re:황당한 일이 생겨서리... Nibble 1326 2010/02/22
60288                         Re:Re:Re:Re:Re:Re:황당한 일이 생겨서리... 제리압빠. 1391 2010/02/22
60291                             Re:Re:Re:Re:Re:Re:Re:황당한 일이 생겨서리... 장성호 1522 2010/02/22
60296                                 Re:Re:Re:Re:Re:Re:Re:Re:황당한 일이 생겨서리... 제리압빠. 1194 2010/02/23
60298                                     Re:Re:Re:Re:Re:Re:Re:Re:Re:황당한 일이 생겨서리... Nibble 1228 2010/02/23
60299                                         Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:황당한 일이 생겨서리... 제리압빠. 1424 2010/02/23
60292                                 Re:Re:Re:Re:Re:Re:Re:Re:황당한 일이 생겨서리... Nibble 1229 2010/02/23
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.