C/C++編程筆記:如何在C++中將字符串轉(zhuǎn)換為char數(shù)組?

我們?cè)S多人遇到錯(cuò)誤“無法將std :: string轉(zhuǎn)換為char []或char *數(shù)據(jù)類型”。?

例子:?
輸入:字符串s =“ geeksforgeeks”;輸出:char s [] = {'g','e','e','k','s','f','o', 'r','g','e','e','k','s'};
輸入:string s =“ coding”;輸出:char s [] = {'c','o','d','i','n','g'};
方法1
執(zhí)行此操作的一種方法是將字符串的內(nèi)容復(fù)制到char數(shù)組。這可以借助庫cstring的c_str()和strcpy()函數(shù)來完成。?
的c_str()函數(shù)用于返回一個(gè)指向一個(gè)包含字符的代表字符串的電流值的空值終止序列的陣列。
句法:?
const char * c_str()const;
如果拋出異常,則字符串中沒有任何變化。但是,當(dāng)我們需要查找或訪問各個(gè)元素時(shí),可以使用strcpy()函數(shù)將其復(fù)制到char數(shù)組中。復(fù)制后,我們可以像使用簡單數(shù)組一樣使用它。?
采用的char數(shù)組的長度不應(yīng)小于輸入字符串的長度。
C++:

方法2:

方法3:
這是最簡單,最有效的。我們可以直接將字符串的第一個(gè)字符的地址分配給char的指針。除非您的邏輯需要字符串的副本,否則這應(yīng)該是首選方法。??
C ++ 14:

本期的知識(shí)分享就到這里了,希望對(duì)大家有幫助~
另外如果你想更好的提升你的編程能力,學(xué)好C語言C++編程!彎道超車,快人一步!筆者這里或許可以幫到你~

UP在主頁上傳了一些學(xué)習(xí)C/C++編程的視頻教程,有興趣或者正在學(xué)習(xí)的小伙伴一定要去看一看哦!會(huì)對(duì)你有幫助的~
分享(源碼、項(xiàng)目實(shí)戰(zhàn)視頻、項(xiàng)目筆記,基礎(chǔ)入門教程)
歡迎轉(zhuǎn)行和學(xué)習(xí)編程的伙伴,利用更多的資料學(xué)習(xí)成長比自己琢磨更快哦!
編程學(xué)習(xí)書籍分享:

編程學(xué)習(xí)視頻分享:
