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;
记录学习点滴,如有违规请告知。