string char 互相轉(zhuǎn)換 string怎么轉(zhuǎn)化為char?
string怎么轉(zhuǎn)化為char?1. 如果要將字符串轉(zhuǎn)換為char*,可以使用string Str()提供的函數(shù)C或函數(shù)data(),data除了字符串內(nèi)容外不附加終止符“0”,并且C Str()返回
string怎么轉(zhuǎn)化為char?
1. 如果要將字符串轉(zhuǎn)換為char*,可以使用string Str()提供的函數(shù)C或函數(shù)data(),data除了字符串內(nèi)容外不附加終止符“0”,并且C Str()返回以“0”結(jié)尾的字符數(shù)組。2、 const char*c_ustr()c_str()函數(shù)返回一個(gè)指向普通c字符串的指針,其內(nèi)容與字符串相同。這是為了與C語(yǔ)言兼容。C語(yǔ)言中沒(méi)有字符串類型,因此必須傳遞字符串類object的成員函數(shù)C。Str()將字符串對(duì)象轉(zhuǎn)換為C語(yǔ)言中的字符串樣式。注意:必須使用strcpy()函數(shù)來(lái)操作方法C。Str()返回的指針,例如:char*CString s=“1234”C=s。C。Str()的最后一個(gè)內(nèi)容是垃圾,因?yàn)閟對(duì)象被破壞,它的內(nèi)容被這樣處理:char c[20]string s=“1234”strcpy(c,s.custr()),因此沒(méi)有錯(cuò)誤,custr()返回一個(gè)臨時(shí)指針,不能對(duì)其進(jìn)行操作。另一個(gè)例子是C_2;Str()返回一個(gè)字符串,其中包含char*格式的字符串。如果函數(shù)需要char*參數(shù),則可以使用C的ustr()方法:String s=“Hello world!“printf(%s”,s.Custr())//輸出“你好,世界!“
C char轉(zhuǎn)string?
由于string沒(méi)有類似于string(char)的構(gòu)造函數(shù),因此可以將char轉(zhuǎn)換為char*或char[,然后使用string的構(gòu)造函數(shù)string(char*)構(gòu)造string。示例代碼如下:char=“a”chartmp[1]TMP[0]=cstringresult(TMP,1)//使用第二個(gè)參數(shù),因?yàn)樗甘咀址拈L(zhǎng)度為1,否則會(huì)生成亂碼