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

  • Chanre Joubert

    Chanre Joube

    27 Temmuz 2012
  • Doc Adams

    Doc Adams

    20 HAZİRAN 2007
  • L- Crysis

    L- Crysis

    30 Aralık 2011