我有一个类,其中包含一个“错误”函数,该函数将格式化某些文本。我想接受可变数量的参数,然后使用printf格式化它们。例:class MyClass{public: void Error(const char* format, ...);};Error方法应该接受参数,调用printf / sprintf对其进行格式化,然后对其进行处理。我不想自己写所有格式,因此尝试弄清楚如何使用现有格式很有意义。
3 回答
天涯尽头无女友
TA贡献1831条经验 获得超9个赞
void Error(const char* format, ...)
{
va_list argptr;
va_start(argptr, format);
vfprintf(stderr, format, argptr);
va_end(argptr);
}
如果要在显示字符串之前对其进行操作,并且确实确实需要先将其存储在缓冲区中,请使用vsnprintf代替vsprintf。vsnprintf将防止意外的缓冲区溢出错误。
- 3 回答
- 0 关注
- 1414 浏览
添加回答
举报
0/150
提交
取消