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

可变参数函数内存分配有关问题

2012-03-21 
可变参数函数内存分配问题假设有这样一个函数intmyprintf(char*format,...){chartemp[6000]va_start(args

可变参数函数内存分配问题
假设有这样一个函数
int   myprintf(char       *format,   ...)
{      
        char       temp[6000];      
        va_start(args,   format);      
        vsprintf(temp,   format,       args);      
        va_end(args);
        printf(temp);
}

在事先不知道format长度以及参数长度的情况下,假如经过vsprintf格式化后的字符串超过temp的6K字节,那就会发出缓冲区溢出的情况,有什么办法能够像printf一样自适应各种长度的字符串,又能避免出现缓冲区溢出的问题?

[解决办法]
vsnprintf

热点排行