我有一個類,其中包含一個“錯誤”函數(shù),該函數(shù)將格式化某些文本。我想接受可變數(shù)量的參數(shù),然后使用printf格式化它們。例:class MyClass{public: void Error(const char* format, ...);};Error方法應該接受參數(shù),調用printf / sprintf對其進行格式化,然后對其進行處理。我不想自己寫所有格式,因此嘗試弄清楚如何使用現(xiàn)有格式很有意義。
3 回答

天涯盡頭無女友
TA貢獻1831條經驗 獲得超9個贊
void Error(const char* format, ...)
{
va_list argptr;
va_start(argptr, format);
vfprintf(stderr, format, argptr);
va_end(argptr);
}
如果要在顯示字符串之前對其進行操作,并且確實確實需要先將其存儲在緩沖區(qū)中,請使用vsnprintf代替vsprintf。vsnprintf將防止意外的緩沖區(qū)溢出錯誤。
- 3 回答
- 0 關注
- 1447 瀏覽
添加回答
舉報
0/150
提交
取消