首页 > 其他 > 详细

string转char*/char[]

时间:2021-06-24 00:34:54      阅读:37      评论:0      收藏:0      [点我收藏+]

转char*

主要有三种方法可以将str转换为char*类型,分别是:data(); c_str(); copy();

1.data()

data()仅返回字符串内容,而不含有结束符‘\0‘

    std::string s = "active";

    //const char* p = s.data();
    char* p = (char*)s.data();

  

2.c_str()

c_str()函数返回一个指向C字符串的指针,该指针指向内存内容和string 相同。因为c语言不支持string类型,故为了在c++兼容C字符串,提供了c_str()函数来实现转换。注意一定要使用strcpy()函数来操作c_str();c_str()返回的是一个临时指针,不能对其进行操作。

    std::string s = "active";
    const char* p = s.c_str();

  

3.copy()方法

    std::string s = "active";
    char p[10];

    s.copy(p,2,2);
    *(p + 2) = ‘\0‘;

  

string转char[]

    std::string s = "native";
    char p[8];
    for (int i = 0; i < s.length(); i++)
        p[i] = s[i];
    p[s.length()] = ‘\0‘;

  

string转char*/char[]

原文:https://www.cnblogs.com/linzloadonbook/p/14924960.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!