char類型的指針如何指向string類型的字符串。


今天在寫一個程序是 突然遇到這個一個奇怪的問題,字符型指針指向string類型的字符串 如下:

string str="abcdcccd";
char* t1=str;

  竟然報錯!我學了很久 我一直以為這個能通過!

 

找了一會 解決方法如下:

  • 使用tring對象的c_str()函數。

 

 

還是不行,報錯如下:

 

 但可以通過在類型char前面通過加const關鍵字解決:

 

 成功解決,但是這樣t1指針不能對指向的值進行更改,這不是我們所期望的。

所以 可以通過類型轉換將str的const屬性去掉,如下所示:

 

 這樣就可以通過指針t1對字符串中的值進行修改啦!

 

 

*注:還有一種方法就是老老實實的定義char類型的數組而不用string。

char str[]="abcdcccd";
char* t1=str;

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM