SORU
8 EYLÜL 2011, PERŞEMBE


::std*karakter string

Bir dönüştürmek istiyorum::standart bir dizebir içine* charyachar[]veri türü.

std::string str = "string";
char* chr = str;

Sonuçları:< “hata:‘:: std string’‘’...”. char dönüştürmek ^güçlü .

Yöntem yapmak için kullanılabilir bu ne var?

CEVAP
8 EYLÜL 2011, PERŞEMBE


Otomatik olarak (çok şükür) dönüşüm olmayacaktır. Yöntemi c_str() C dize sürümü almak için kullanmak zorunda kalacaksın.

std::string str = "string";
const char *cstr = str.c_str();

const char *; C-stil dize c_str() tarafından döndürülen değiştirmek için izin verilmez bir döndüren unutmayın. Eğer bu işlemi yapmak istiyorsanız ilk kopya gerekecek:

std::string str = "string";
char *cstr = new char[str.length()   1];
strcpy(cstr, str.c_str());
// do stuff
delete [] cstr;

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Canceriansoul

    Canceriansou

    15 Ocak 2011
  • ecf150king

    ecf150king

    20 Ocak 2006
  • MrOctopi

    MrOctopi

    6 Aralık 2010