2 EKİM 2008, PERŞEMBE
Nasıl bir std inşa musun::gömülü bir boş dize?
Eğer bir std inşa etmek istersem::bir satır ile dize gibi:
std::string my_string("a\0b");
Sonuç dizesi (bir, boş, b) üç karakter sahibi olmak istiyorum nerede, ben sadece bir tane var. Doğru sözdizimi nedir?
CEVAP
2 EKİM 2008, PERŞEMBE
Sorun std::string bir kurucu alırinş char*varsayar giriş C bir dize. C dizeleri '\0 sona ulaştığında durur ve böylece ayrıştırma '\0' karakteri.'
Bunu telafi etmek için char dizisi (C-String) dize oluşturur yapıcı kullanmanız gerekir. Bu bir işaretçi dizi ve uzunluğu: iki parametre alır
std::string x("pq\0rs"); // Two characters because input assumed to be C-String
std::string x("pq\0rs",5); // 5 Characters as the input is now a char array with 5 characters.
Not: C std::stringDEĞİL'0 \' diğer mesajlarda önerildiği gibi) sonlandırıldı. C-String yöntemi ile c_str içeren bir iç arabellek için bir işaretçi elde edebilirsiniz.
Ayrıca Doug .T aşağıda bir kullanma hakkında kontrol edinvektör<char>
Bunu Paylaş:
Nasıl bir dize başka bir dize içeriyor...
Nasıl doğru ActionScript 3 SOAP web se...
Nasıl JavaScript ile boş bir dize için...
Bir dize kontrol etmek için nasıl &quo...
Nasıl Bash dize değişkenleri bitiştirm...