c_str的使用

来源:互联网 发布:linux内核组成部分 编辑:程序博客网 时间:2024/06/05 03:18

1、string temp;输入空字符串,则temp = "\0";
2、c_str函数的返回值是const char*的,不能直接赋值给char*,所以就需要我们进行相应的操作转化。
   c_str( )函数返回一个指向正规C字符串的指针, 内容与本string串相同。
   注意:一定要使用strcpy()函数等来操作方法c_str()返回的指针
   比如:最好不要这样:
   char* c;
   string s="1234";
   c = s.c_str();
   //c最后指向的内容是垃圾,因为s对象被析构,其内容被处理(纠正:s对象的析构是在对指针c完成
     赋值操作之后进行的,故此处并没有错误)
   应该这样用:
   char c[20];
   string s="1234";
   strcpy(c,s.c_str());
   这样才不会出错,c_str()返回的是一个临时指针,不能对其进行操作。

0 0