잘 사용하지 않는 기술인데 에러 처리와 같은 부분에서는 상당히 편하게 사용될수 있다.
#include
void error( char *format, ... )
{
va_list list;
va_start( list,
format );
while( *format != '\0' )
{
// string
if( *format == 's'
)
{
char* s =
va_arg( list, char * );
printf(
"[msg] strnig : %s\n", s );
}
// integer
else if( *format
== 'd' )
{
int d =
va_arg( list, int );
printf(
"[msg] integer : %d\n", d );
}
*format++;
}
va_end( list );
}
int main( void )
{
error("s", "This is a
string");
error("d", __LINE__);
return( 0 );
}
'C언어' 카테고리의 다른 글
복잡한 함수포인터 읽기(고급) (0) | 2006.05.08 |
---|---|
복잡한 함수포인터 (고급) (0) | 2006.05.05 |
iconv 를 이용한 문자열 변환(utf-8) (0) | 2006.04.04 |
global(전역변수) & static(정적변수) variable (0) | 2006.03.04 |
이차원(2차원) 배열 (0) | 2006.03.04 |