getopt 관련 질문입니다.

함수 getopt를 이용하는건데요...
main함수내에서 이용하면 잘작동하는데요.
외부함수로서 호출하면 작동이 안됩니다.
원인좀 알려주십시오.
---a.c ----------
#include
int function_getOption( int argc , char *argv[] , int intOpCode );
int main( int argc , char *argv[] )
{
int intOpCode;
int opt;
// 여기 주석을 푸시고 ,외부함수로 호출하면 작동안함 ..원인?
// function_getOption( argc , argv , intOpCode );
intOpCode = 0;
// -- from here (here ~ to까지 주석으로 잡고
while ( (opt = getopt( argc , argv , "c" )) != -1 )
{
switch ( opt )
{
case 'c'/* concurrent execution */
intOpCode = 1;
break;
default
break;
}
}
// --- to here
fprintf( stderr , "OpCode is [%d] \n" , intOpCode );
return 0;
}
int function_getOption( int argc , char *argv[] , int intOpCode )
{
int opt;
intOpCode = 0 ;
while ( (opt = getopt( argc , argv , "c" )) != -1 )
{
switch ( opt )
{
case 'c'/* concurrent execution */
intOpCode = 1;
break;
default
break;
}
}
return intOpCode;
}
Re: getopt 관련 질문입니다.
함수 호출후 리턴값을 받아야죵 ^^
수정된 소스 올립니다
#include
int function_getOption( int argc , char *argv[] , int intOpCode );
int main( int argc , char *argv[] )
{
int intOpCode;
int opt;
intOpCode = function_getOption( argc , argv , intOpCode );
fprintf( stderr , "OpCode is [%d] \n" , intOpCode );
return 0;
}
int function_getOption( int argc , char *argv[] , int intOpCode )
{
int opt;
intOpCode = 0 ;
while ( (opt = getopt( argc , argv , "c" )) != -1 )
{
switch ( opt )
{
case 'c'/* concurrent execution */
intOpCode = 1;
break;
default
break;
}
}
return intOpCode;
}
댓글 달기