ホームページ  >  記事  >  バックエンド開発  >  C で文字列に整数を正しく追加するにはどうすればよいですか?

C で文字列に整数を正しく追加するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-11 17:08:02851ブラウズ

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() が null で終わる文字列を指す char* 引数を予期しているためです。

解決策:

正しく追加するには整数を文字列に変換するには、いくつかの方法が利用可能です。

  • を使用する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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。