티스토리 뷰
C, C++ 에서는 프로그램 실행시 명령 인자를 받을 때 argv를 통해서 쉽게 받아 올 수 있다.
MFC에서는 어떻게 얻어올까?
GetCommandLine(); 을 쓰면 얻어 올 수 있다.
백문이 불여일견. 한번 테스트 직접 해보시길.
그리고 아래는 인자를 쫙 얻어오는 예제 소스.
띄어쓰기(공백)이 제대로 분리 됐는지 확인 하기 위해 출력 시에 @를 시작과 끝에 붙여서 출력 시켰다.
파싱은 알아서 하면 됨.
---------------------20110829 수정---------------------------
이거 보다 그냥, 프로젝트와 이름이 같은 파일의 InitInstance()에서
m_lpCmdLine 변수를 보는것이 더 나은 것 같다.
m_lpCmdLine 변수에 아규먼트가 들어 있다.
또,
CCommandLineInfo cmdLine;을 선언 한 이후
ParseCommandLine( cmdLine ); 해주면 cmdLine의 strFileName에 argv값이 들어가는 듯 하다. 근데 이 경우는 띄어쓰기 구분자로 두개 이상의 인자를 넣을 때는 첫번째것만 가져오더라.
따라서 그냥 m_lpCmdLine을 쓰는게 가장 좋은 것 같다.
MFC에서는 어떻게 얻어올까?
GetCommandLine(); 을 쓰면 얻어 올 수 있다.
백문이 불여일견. 한번 테스트 직접 해보시길.
그리고 아래는 인자를 쫙 얻어오는 예제 소스.
띄어쓰기(공백)이 제대로 분리 됐는지 확인 하기 위해 출력 시에 @를 시작과 끝에 붙여서 출력 시켰다.
파싱은 알아서 하면 됨.
LPSTR pszArgv = GetCommandLine(); CString strArgv = pszArgv; int nFirstSpace = strArgv.Find( _T(" ") ); CString strFirstArgv = strArgv.Mid( nFirstSpace + 2 ); AfxMessageBox( _T("@") + strFirstArgv + _T("@") );
---------------------20110829 수정---------------------------
이거 보다 그냥, 프로젝트와 이름이 같은 파일의 InitInstance()에서
m_lpCmdLine 변수를 보는것이 더 나은 것 같다.
m_lpCmdLine 변수에 아규먼트가 들어 있다.
또,
CCommandLineInfo cmdLine;을 선언 한 이후
ParseCommandLine( cmdLine ); 해주면 cmdLine의 strFileName에 argv값이 들어가는 듯 하다. 근데 이 경우는 띄어쓰기 구분자로 두개 이상의 인자를 넣을 때는 첫번째것만 가져오더라.
따라서 그냥 m_lpCmdLine을 쓰는게 가장 좋은 것 같다.
'Development > Windows' 카테고리의 다른 글
[MFC] 유니코드와 멀티바이트로 작성된 프로그램과 DLL 사용 안됨. (0) | 2011.07.28 |
---|---|
[MFC] 일본어 폰트 지원 문제에 관련해서 (0) | 2011.07.26 |
[MFC] CTreeCtrl font 관련 설정 바꾸기. (0) | 2011.07.01 |
[MFC] 프로그램 코드 라인수 계산기 (0) | 2011.06.09 |
[API/MFC] 레지스트리 읽고 쓰는 함수 (1) | 2011.06.02 |
[Visual C++] MultiByteToWideChar와 WidecharToMultiByte의 사용. (0) | 2011.05.12 |
[Visual C++] shift_jis 인코딩 문제 (0) | 2011.05.11 |
[MFC] ScrollBar 사용하기 (4) | 2011.02.18 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- db
- algorithm
- kering
- jni강좌
- source
- database
- gcc
- Visual C++
- jni
- MFC
- NDK
- Quiz
- AWS
- Cloud
- driver
- linux
- API
- it
- 리눅스
- winapi
- C
- java
- 음악
- android
- 드라이버
- Troubleshooting
- 프로그래밍
- 안드로이드
- Python
- C++
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함