我想修改我的日誌類接受我的字符串中的變量。例如,如果我想輸出一個地區有7名玩家。修改日誌類接受字符串中的變量 - C++
這是我寫日誌功能:
void Log::writeSuccess(string text,...)
{
// Write the sucessfull operation to the logfile
logfile << "<---> " << text << endl;
}
這裏是我的調用代碼:
int playernum = 7;
errorLog.writeSuccess("There are %i players in the area", playernum);
它只是最終輸出到文件:有%我的球員在該地區
有什麼辦法解決這個問題?
我很驚訝這不會導致編譯器錯誤,因爲你傳遞了錯誤的參數數量。你的問題的答案可能是boost.log或boost.format,或者如果你有C++ 0x,可能是可變參數模板。 –
你預計發生魔法? –
你是否喜歡printf之類的可變參數函數? – sergio