zoukankan      html  css  js  c++  java
  • c_str()函数

    #include <string.h>

    const char *c_str();

    返回字符串地址,是一个c函数,返回类型const char*
    c_str()函数返回一个指向正规C字符串的指针常量, 内容与本string串相同.

    这是为了与c语言兼容,在c语言中没有string类型,故必须通过string类对象的成员函数c_str()把string 对象转换成c中的字符串样式。
    注意:一定要使用strcpy()函数 等来操作方法c_str()返回的指针

    这样用不对

    char* c;
    string s="1234";
    c = s.c_str();

    应该这样用:

    char c[20]; 
    string s="1234"; 
    strcpy(c,s.c_str()); 

    c_str() 以 char* 形式传回 string 内含字符串
    如果一个函数要求char*参数,可以使用c_str()方法:
    string s = "Hello World!";
    printf("%s", s.c_str()); //输出 "Hello World!"

    .c_str()是在需要用char*的地方使用.如果只是需要处理字符串,根本不需要这个。

    但是所有的C语言函数和C++有些IO相关函数(比如创建文件流对象时调用的构造函数)需要字符串时使用的都是char*类型的形参,不支持string类型,这时候就可以用string对象的.c_str()得到一个char*指针.

  • 相关阅读:
    让GoogleCode的SVN下的HTML文件在FireFox下正常显示
    添加验证控件出错
    【转载】SQLServer中char、varchar、nchar、nvarchar的区别:
    人生第一篇博客
    二叉排序树
    最小编辑距离
    面试题集锦_4
    面试题集锦_3
    键树
    B树
  • 原文地址:https://www.cnblogs.com/farewell-farewell/p/5479631.html
Copyright © 2011-2022 走看看