首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

求教vsnprintf的使用有关问题

2012-04-21 
求教vsnprintf的使用问题void write(const char *pFmt, ... ) {char pDest[4096] {0}va_list apva_sta

求教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……

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

热点排行