读书人

求教vsnprintf的使用有关问题

发布时间: 2012-04-21 14:34:44 作者: rapoo

求教vsnprintf的使用问题
void write(const char *pFmt, ... ) {
char pDest[4096] = {0};
va_list ap;
va_start(ap, pFmt);
vsnprintf(pDest, 4096, pFmt, ap);
va_end(ap);
cout << pDest << endl;
}

现在问题是:当pFmt格式为“%s, %ld, %s”时,第3个%s输入参数在输出时为(null),让我费解,这究竟是怎么回事?

求高手帮忙指点一二!
本人在线等待!

[解决办法]

探讨
void write(const char *pFmt, ... ) {
char pDest[4096] = {0};
va_list ap;
va_start(ap, pFmt);
vsnprintf(pDest, 4096, pFmt, ap);
va_end(ap);
cout << pDest << endl;
}

现在问题是:当pFmt格式为“%s, %ld, %s……

[解决办法]
把你调用那里的代码贴一下,多半是参数不符导致的
[解决办法]
因为你传入的就是空指针。

读书人网 >C++

热点推荐