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 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
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:
<🎝🎝🎝>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!