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;

  

 

posted @ 2020-06-10 10:44  每天都要吃早饭  阅读(2946)  评论(0编辑  收藏  举报