본문 바로가기

쓰기

다물칸 주소복사
조회 수 4425 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 뷰어로 보기 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 뷰어로 보기 위로 아래로 댓글로 가기 인쇄
Extra Form
구분 팁&트릭

App나 DLG에 다음을 추가합니다. 


_CRTIMP extern int __argc;          /* count of cmd line args */
	_CRTIMP extern char ** __argv;      /* pointer to table of cmd line args */


__argc 는 파라미터의 수를 나타내는데 구분이 " "(Space)입니다. 나눌 문자가 아닌 실제 데이터에 스페이스가 있으면 대략 난감입니다. 그래서 전 다음과 같이 처리하였습니다. 


파라메터에 그냥 통문자열로 "^"를 구분자로 두어서 처리하도록 합니다. 


if( __argc > 1 )  
	{
		
   for(int i=1;i<__argc;i++)
  {
      strPara = strPara + __argv[i] + " ";
   }

   AfxExtractSubString(strPatID, strPara, 0, _T('^'));
   AfxExtractSubString(strPatName, strPara, 1, _T('^'));
   AfxExtractSubString(strOrdName, strPara, 2, _T('^'));
}


__argc가 1보다 클 경우만 처리하고 else에선 처리하지 않고 프로그램이 종료되도록 하였습니다. 

스페이스로 구분이 된 파라미터를 for루프에서 묶어버립니다. 파라미터로 받은 것을 그대로 만드는 작업입니다. 


다시 이것을 미리 "^"로 구분하여 넣었기 때문에 AfxExtractSubString()로 잘라 처리합니다.