double optionType = 0;
LPCTSTR pszValue = NULL;
int main(int argc, char* argv[])
{
// argc개수(옵션개수) 만큼 for문 실행
if (argc < 2 || !ParseOptions(argc, argv) || pszURL == NULL)
ShowUsage();
// 값처리
}
void ShowUsage()
{
cerr << _T("Usage: PROGRAM [options] <Value>") << endl << endl;
//...
}
BOOL ParseOptions(int argc, char* argv[]) {
for (int nIndex = 1; nIndex < argc; nIndex++)
{
// an option
// 옵션 값에서 '-' or '/' 찾아서 처리
if (*argv[nIndex] == '-' || *argv[nIndex] == '/')
{
if (argv[nIndex][1] == 'H' || argv[nIndex][1] == 'h')
optionType = optionType || OPT_CONFIG_HASH;
else if (argv[nIndex][1] == '?' || argv[nIndex][1] == '?')
optionType = optionType || OPT_CONFIG_HELP;
else if (argv[nIndex][1] == 'R' || argv[nIndex][1] == 'r')
optionType = optionType || OPT_CONFIG_HELP;
else
{
cerr << _T("Error: unrecognized option: ") << argv[nIndex] << endl;
return FALSE;
}
}
else
{
if (pszValue != NULL)
{
cerr << _T("Error") << endl;
return FALSE;
}
else
pszValue = argv[nIndex];
}
}
반응형
'3.구현 > VC++' 카테고리의 다른 글
문자열 - 유니코드 팁 tstring (0) | 2012.08.14 |
---|---|
메모리릭(Memory leak) 관련 (0) | 2012.08.14 |
네트워크 트래픽 사용량 측정하기 (0) | 2012.08.14 |
[에러]LNK1241 Linker Tools Error (0) | 2012.08.14 |
[버그,error] UuidToStringW use RPC_WSTR (0) | 2012.08.14 |