윈도우에서 va_list와 같은기능을하는 변수명은 뭔가요?

lik2oxy의 이미지

디버그 프린트도 못만들고 있네요.. 저걸몰라서...ㅠ.ㅠ

purewell의 이미지

있습니다.

#include <stdarg.h>

또는

#include <cstdarg.h>
using namespace std;

하고 쓰시면 됩니다.

_____________________________
언제나 맑고픈 샘이가...
http://purewell.biz

lik2oxy의 이미지

msdn에는 너무 간단히 나와있더라구요..

purewell의 이미지


void MyPrint(const char* fmt, ...)
{
  char buff[256];
  va_list vl;

  va_start(vl, fmt);
  vsprintf(buff, fmt, vl);
  va_end(vl);

  fprintf(stderr, "%s", buff);
}

물론 vsprintf보다 vsnprintf 같은 것을 쓰면 좀더 보안적으로 좋겠지만...
VC6에선 vsnprintf가 안 돌아가더군요. ㅡ_-);

_____________________________
언제나 맑고픈 샘이가...
http://purewell.biz

최종호의 이미지

윈도우에서는 vsnprintf() 나 snprintf() 를 _vsnprintf(), _snprintf() 라는 이름으로 제공합니다.

C 표준 라이브러리가 아닌 경우에는 앞에다 _를 붙여서 사용하고 있습니다. open()도 _open() 식으로요.

#define vsnprintf _vsnprintf

식으로 사용하시면 되겠죠?

charsyam의 이미지

유닉스나, 윈도우나 동일합니다. 그럼 고운 하루 ^^

=========================
CharSyam ^^ --- 고운 하루
=========================