今天在写一个程序是 突然遇到这个一个奇怪的问题,字符型指针指向string类型的字符串 如下:

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

  竟然报错!我学了很久 我一直以为这个能通过!

char类型的指针如何指向string类型的字符串。

char类型的指针如何指向string类型的字符串。

 

找了一会 解决方法如下:

  • 使用tring对象的c_str()函数。

 char类型的指针如何指向string类型的字符串。

 

还是不行,报错如下:

char类型的指针如何指向string类型的字符串。

 

 但可以通过在类型char前面通过加const关键字解决:

char类型的指针如何指向string类型的字符串。

 

 成功解决,但是这样t1指针不能对指向的值进行更改,这不是我们所期望的。

所以 可以通过类型转换将str的const属性去掉,如下所示:

char类型的指针如何指向string类型的字符串。

 

 这样就可以通过指针t1对字符串中的值进行修改啦!

 

 

*注:还有一种方法就是老老实实的定义char类型的数组而不用string。

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

  

 

相关文章:

  • 2022-12-23
  • 2021-05-19
  • 2022-12-23
  • 2022-12-23
  • 2021-08-14
  • 2021-10-24
  • 2021-07-13
  • 2021-06-22
猜你喜欢
  • 2022-12-23
  • 2021-05-14
  • 2021-08-08
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-16
相关资源
相似解决方案