Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Membenamkan Aksara Null dalam C std::string?

Bagaimanakah Saya Boleh Membenamkan Aksara Null dalam C std::string?

DDD
Lepaskan: 2024-11-27 09:30:14
asal
247 orang telah melayarinya

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

Menggabungkan Null Terbenam dalam std::string: Panduan Komprehensif

Jika anda ingin mencipta std::string yang mengandungi aksara null terbenam, anda mesti menangani pelbagai nuansa sintaks bergantung pada versi C yang anda gunakan.

C 14 and Beyond: Memperkenalkan Literal Rentetan

C 14 memperkenalkan literal rentetan, menyediakan kaedah yang mudah untuk membina rentetan std::strings dengan nol terbenam:

#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
Salin selepas log masuk
-op"s; // Notice the "s" at the end, indicating a std::string literal std::cout << s << "\n"; }

Pra-C 14: Menggunakan Tatasusunan Aksara

Sebelum C 14, std::string constructor menjangkakan const char* rentetan C yang diandaikan, yang ditamatkan nol. Untuk mengatasinya, anda mesti menggunakan pembina yang mengambil tatasusunan char dan panjang:

<🎝🎝🎝>

Mata Utama

  • std::strings tidak ditamatkan nol, tetapi anda boleh mendapatkan penuding rentetan C dengan kaedah c_str().
  • Jawapan Doug T mencadangkan menggunakan vektor sebagai pendekatan alternatif.

    Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membenamkan Aksara Null dalam C std::string?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan