在 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中文网其他相关文章!