码迷,mamicode.com
首页 > 编程语言 > 详细

C++中c_str()

时间:2020-10-10 18:00:31      阅读:28      评论:0      收藏:0      [点我收藏+]

标签:返回   size   导致   https   str   不可   span   输出   std   

1.要用strcpy

https://zhidao.baidu.com/question/104592558.html

char c[20]; 

string s="1234"; 

strcpy(c,s.c_str()); 

//这样才不会出错,c_str()返回的是一个临时指针,不能对其进行操作。

下面是个反面例子:

const char* c;  //定义了一个常量指针

std::string s = "1234";  

c = s.c_str();  #指向了一个临时指针

std::cout << c << std::endl; //输出:1234  
"abcd";  //之后s变化了c的值也会发生变化

std::cout << c << std::endl; //输出:abcd  

// 上面如果继续用c指针的话,导致的错误将是不可想象的,就如:1234变为abcd。

 2.strcpy

函数原型 char *strcpy(char *dest,const char *src):

从src地址开始且含有null结束符的字符串复制到以dest地址开始的字符串中,并返回指向dest的指针。

上面已经给出了例子。

C++中c_str()

标签:返回   size   导致   https   str   不可   span   输出   std   

原文地址:https://www.cnblogs.com/BlueBlueSea/p/13792254.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!