在C 語言中將整數追加到字串
C 語言中的std::string::append() 方法用於追加整數字元序列或字串新增至現有字串。但是,必須了解其行為以避免錯誤。
請考慮以下程式碼片段:
std::string query; int ClientID = 666; query = "select logged from login where id = "; query.append((char *)ClientID);
此程式碼嘗試將 ClientID 整數附加到查詢字串。但是,它會引發調試斷言失敗。原因是 std::string::append() 需要一個 char* 參數,該參數指向以 null 結尾的字串。
解:
正確追加將整數轉換為字串,有多種方法可用:
#include <sstream> std::ostringstream s; s << "select logged from login where id = " << ClientID; std::string query(s.str());
std::string query("select logged from login where id = " + std::to_string(ClientID));
#include <boost/lexical_cast.hpp> std::string query("select logged from login where id = " + boost::lexical_cast<std::string>(ClientID));這些方法可確保在將整數附加到查詢字串之前將其正確轉換為字串,從而避免偵錯斷言失敗。
以上是如何在 C 中正確地將整數附加到字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!