var args ... 에 관한 문제..

해봐의 이미지

printf("aaaa");
printf("%d", 1);

과 같이 둘다 다 먹습니다.

근데 저는 아래꺼는 할수 있겠는데

그렇게 짜면은 위에 꺼까지 커버할수 있는 방법을 모르겠네요..

어디서 가져온 함수거든요..

void log_(const char *filename, int lineno, const char *fmt, ...)
{
va_list argptr;
fflush(stdout);
fprintf(stdout, "[%s:%d]", filename, lineno);
va_start(argptr, fmt);
vfprintf(stdout, fmt, argptr);
va_end(argptr);
putc('\n', stdout);
}

이렇게 하면 아래꺼는 되는데

log_("aaaaaaaa"); 과 같은 처리를 어떻게 해야할지 막막합니다.

어떻게 해야하죠?

sodomau의 이미지

음.. 코드 컴파일 안 해 보셨나 보네요..

그냥 저렇게만 해도 둘 다 될텐데요.