ホームページ > バックエンド開発 > C++ > C std::string に Null 文字を埋め込むにはどうすればよいですか?

C std::string に Null 文字を埋め込むにはどうすればよいですか?

DDD
リリース: 2024-11-27 09:30:14
オリジナル
202 人が閲覧しました

How Can I Embed Null Characters in a C   std::string?

std::string への埋め込み Null の組み込み: 総合ガイド

埋め込み Null 文字を含む std::string を作成したい場合は、さまざまな作業に取り組む必要があります。使用する C バージョンによって構文のニュアンスが異なります。

C 14 以降: 概要文字列リテラル

C 14 では文字列リテラルが導入され、null が埋め込まれた std::string を構築する便利な方法が提供されました。

#include <iostream>
#include <string>

using namespace std::string_literals;

int main() {
    std::string s = "pl-<pre class="brush:php;toolbar:false">std::string x("pqrs");   // Two characters, as input is interpreted as a C-string
std::string x("pqrs", 5); // 5 Characters, as input is now a char array with 5 characters
ログイン後にコピー
-op"s; // Notice the "s" at the end, indicating a std::string literal std::cout << s << "\n"; }

C 14 より前: 文字配列の使用

C 14 より前では、const char* を期待する std::string コンストラクターは C 文字列を想定していました。 null で終了します。これを解決するには、char 配列と長さを受け取るコンストラクターを使用する必要があります。

Key Points

  • std::strings は null で終了していませんが、 c_str() メソッドを使用して C 文字列ポインタを取得できます。
  • Doug T の答えは、ベクトル代替アプローチとして。

以上がC std::string に Null 文字を埋め込むにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート