c++中c

07-02 1817阅读

文章目录

    • 函数作用
    • 语法及返回值
    • 使用方法1
    • 使用方法2
    • atof函数的用法
    • std::stod()函数的用法
    • 小结

    函数作用

     功能:c_str() 函数可以将 const string* 类型 转化为 const char* 类型

    c++中c
    (图片来源网络,侵删)

    头文件:#include      

    为了与c语言兼容,在c语言中没有string类型,故必须通过string类对象的成员函数c_str()把string 对象转换成c中的字符串样式。

    c_str()就是将C++的string转化为C的字符串数组,c_str()生成一个const char *指针,指向字符串的首地址

    1、c_str() 是string的一个方法,返回指向const char的指针,该指针不能修改指向的内容。

    2、为什么要用c_str()?

    因为有些地方需要用char指针,比如以char指针作为形参的方法。

    3、为什么可以用文本常量的字符串赋值给char指针,却不能用字符串变量赋值给char指针?

    1     char * cp1 = "hello";  // OK
    2 
    3     string str = "hello";
    4 
    5     cp1 = str; // Error,无法从“std::string”转换为“char *”

    文本常量字符串赋值给char指针,做的事情如下:

    a、为char指针分配内存;

    b、为文本常量字符串分配内存;

    c、将字符串首地址赋值给char指针。

    文本常量字符串赋值给char指针,实际上这里的文本常量字符串表达的意义是首地址。

    注意:与文本常量对应的是具名常量。

    语法及返回值

    语法:

    const char *c_str();

    返回值:

    c_str()函数返回一个指向正规C字符串的指针常量(临时指针), 内容与本string串相同。

    使用方法1

    注意点:

    c_str() 这个函数转换后返回的是一个临时指针,不能对其进行操作

    所以因为这个数据是临时的,所以当有一个改变这些数据的成员函数被调用后,该数据就会改变失效;

    例如:

    #include
    #include
    using namespace std;
    int main() {
    	const char *ptr;
    	string s = "12345";
        ptr = s.c_str();
        cout 
VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]