首頁 > 後端開發 > C++ > 如何在 C std::string 中嵌入空字元?

如何在 C std::string 中嵌入空字元?

DDD
發布: 2024-11-27 09:30:14
原創
201 人瀏覽過

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

在std::string 中合併嵌入空值:綜合指南

如果您希望建立包含嵌入空字元的std::string,您必須解決各種問題語法細微差別取決於您使用的C 版本。

C 14 及更高版本:字串簡介文字

C 14 引入了字串文字,為建構帶有嵌入空值的std::strings 提供了一種便捷的方法:

#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"; }

Pre-C 14:使用字元陣列

在C 14之前,需要 const char* 的 std::string 建構子假定為以 null 結尾的 C 字串。為了克服這個問題,您必須使用採用char 陣列和長度的建構子:

關鍵點

  • std::string 不是以null 結尾的,但是您可以使用c_str() 方法取得C 字串指標。
  • Doug T 的回答建議使用向量作為替代方法。

以上是如何在 C std::string 中嵌入空字元?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板