首頁 >後端開發 >C++ >如何在 C 中正確地將整數附加到字串?

如何在 C 中正確地將整數附加到字串?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-11 17:08:02888瀏覽

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