首页 >后端开发 >C++ >如何在 C 中正确地将整数附加到字符串?

如何在 C 中正确地将整数附加到字符串?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-11 17:08:02889浏览

How to Correctly Append an Integer to a String in C  ?

在 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 结尾的字符串。

解决方案:

正确追加将整数转换为字符串,有多种方法可用:

  • 使用 std::ostringstream:
#include <sstream>

std::ostringstream s;
s << "select logged from login where id = " << ClientID;
std::string query(s.str());
  • 使用 std::to_string (C 11 及更高版本):
std::string query("select logged from login where id = " +
                  std::to_string(ClientID));
  • 使用 boost::lexical_cast:
#include <boost/lexical_cast.hpp>

std::string query("select logged from login where id = " +
                  boost::lexical_cast<std::string>(ClientID));

这些方法可确保在将整数附加到查询字符串之前将其正确转换为字符串,从而避免调试断言失败。

以上是如何在 C 中正确地将整数附加到字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn