[API] 문자열에 관하여 질문 드립니다.
아쿠아리우스
visual 6.0 API 에서 Setting에 arguments에 문자를 입력하면 __argv[] 에 문자열이 들어오잖아여.
예를 들어 __argv[0]에 문자로 123이 들어있다고 가정을 하고, 이걸 DWORD 타입으로 변환을 할려고 합니다.
그런데 제가 원하는게 UNICODE랑 _UNICODE에서 다 실행 가능하게 한다는 조건입니다.(둘다 define 시킨 상태)
그래서 제가 여러 가지 방법을 썼었는데도 잘 안되네여.(LPTSTR이랑 TCHAR랑 여러가지로 캐스팅 해봤거든여...)
예를 들면
LPTSTR str = (LPTSTR)__argv[0];
DWORD num = _ttoi(str);
컴파일은 되지만 실행이 안되더군여 그래서 디버깅했었는데 str = (LPTSTR)__argv[0] 이 부분에서 바로 에러가 나더군요
그래서 wsprintf랑 _tccpy 등 갖가지 방법을 다 동원했는데도 안 됩니다....중립으로 할려니 정말 힘드네여~~ 벌써 3일째 틈틈히
계속 하고 있는데도 도저히 안되서 질문 올립니다ㅠ 도대체 뭐가 문제인지 가르쳐 주시면 감사합니다.
그리고 소스는 다른거 없구여 setting에 arguments에 123이라는 숫자 입력하고 WM_CREATE에서 위에 식으로 입력후
MessageBox에서 str을 출력하게 하고 num은 그냥 디버깅해서 값이 들어가는지만 보는 정도 입니다....
-
캐릭터
__argv가 char로 정의되어 있네요. _tmain에서 넘어오는 _TCHAR* argv[]를 직접 받아서 쓰면 됩니다.
-
후력
네 메인도 다 해놨구여 저부분만 안되더군여ㅠ
-
깜찏한그1녀
main 함수 역시 _tmain 으로 되어있나요?
-
시나브로
실행이 된다구여....#define인 둘다 시키셨는지...저도 컴파일은 에러가 없던데 실행이 안되더라구여ㅠ
-
도래
이상하네요....테스트로 하나 만들어서 해봤는데.. 잘되는데요^^;;