java中如何把string賦值到char c語(yǔ)言string定義?
c語(yǔ)言string定義?在c語(yǔ)言中定義法字符串:C語(yǔ)言中用字符型CHAR來(lái)可以表示存儲(chǔ)字符,沒(méi)有C里面的是可以分開(kāi)來(lái)的字符串類型String;所以我C里面建議使用字符數(shù)組和字符指針來(lái)利用字符串功能;C
c語(yǔ)言string定義?
在c語(yǔ)言中定義法字符串:
C語(yǔ)言中用字符型CHAR來(lái)可以表示存儲(chǔ)字符,沒(méi)有C里面的是可以分開(kāi)來(lái)的字符串類型String;
所以我C里面建議使用字符數(shù)組和字符指針來(lái)利用字符串功能;
C的字符數(shù)組沒(méi)法在定義時(shí)相互變量賦值,以后沒(méi)法給單個(gè)元素全部變量;
charstring0[10]
charstring1[]
怎么將輸入的字符串依字符存入數(shù)組?
字符串存儲(chǔ)文件在數(shù)組中一般有萬(wàn)分感謝幾種方法:
1、聲明數(shù)組時(shí)定義變量,如:charstr[]
char怎么轉(zhuǎn)換成string?
1、char*轉(zhuǎn)換成成string
可以真接變量定義。程序不勝感激:
strings
char*p#34adghrtyh#34
sp
sprintf(#34%s#34,s1.c_str())
2、char[]轉(zhuǎn)換的成string
這個(gè)也可以不直接變量賦值。但也會(huì)會(huì)出現(xiàn)上面的問(wèn)題。需要同時(shí)的處理。
再注意,與char*完全不同的是,string不是有以NULL(#390#39)已經(jīng)結(jié)束。string長(zhǎng)度可以不依據(jù)什么length()能夠得到,string是可以依據(jù)下標(biāo)訪問(wèn)。因此,不能將string然后變量給char*。
c怎么把char轉(zhuǎn)換為string就是字符?
1、如果沒(méi)有要將string裝換為char*,是可以可以使用string提供的函數(shù)c_str(),又或者函數(shù)data(),data以外前往字符串內(nèi)容外,不只附加已經(jīng)結(jié)束符#390#39,而c_str()直接返回一個(gè)以‘0'結(jié)尾的字符數(shù)組。
2、constchar*c_str()c_str()函數(shù)返回一個(gè)指向正規(guī)C字符串的指針,內(nèi)容與本string串完全相同.這是目的是與c語(yǔ)言兼容,在c語(yǔ)言中沒(méi)有string類型,故前提是按照string類對(duì)象的成員函數(shù)c_str()把string對(duì)象可以轉(zhuǎn)換成c中的字符串樣式.特別注意:要先在用strcpy()函數(shù)等來(lái)操作方法c_str()直接返回的指針.例如:最好是千萬(wàn)不能這樣的話:char*cstrings#341234#34
cs.c_str()
//c之后正指向的內(nèi)容是垃圾,畢竟s對(duì)象被析構(gòu),其內(nèi)容被全面處理應(yīng)該這樣的用:
charc[20]strings#341234#34strcpy(c,s.c_str())這樣才應(yīng)該不會(huì)程序出錯(cuò),c_str()趕往的是一個(gè)原先指針,不能不能對(duì)其通過(guò)操作再舉個(gè)例子c_str()以char*形式趕回string富含氨基酸字符串假如一個(gè)函數(shù)要求char*參數(shù),可以在用c_str()方法:strings#34Hello World!#34
printf(#34%s#34,s.c_str())
//輸出#34Hello World!#34