c++ string互换char总结

string的使用

string 转换成 const char *

string有2个函数可以用来转换。

c_str()
data()
这俩个函数返回的都是 const char*

as

string 转换成 char *

转换成char*,需要使用strcpy函数。

str

const char *转换string

直接赋值
阿斯顿

char * (char) 转换成string

直接赋值。

sd

这样输出时只能使用 std::cout 来执行吧。

char[] 转换成string

可以直接赋值。但是也会出现上面的问题。需要同样的处理。

as

string转换成char[]

不可直接赋值,单个取出,赋给char[]
as

附全部代码
    string str1 = "";

    char   ch1 = 'a', ch2[] = "hello", *ch3 = "hello";
    const char ch4 = 'a', *ch5 = "hello";

    //char 转 string
    str1 = ch1;
    cout << str1 << endl;
    //char[] 转 string
    str1 = ch2;
    cout << str1 << endl;
    //char* 转 string
    str1 = ch3;
    cout << str1 << endl;
    //const char 转 string
    str1 = ch4;
    cout << str1 << endl;
    //const char* 转 string
    str1 = ch5;
    cout << str1 << endl;

string本身就是由char支持的,所以在这方面很强大
附一张结果图
sd

string str2 = "121121";

    //string 转 char
    ch1 = str2[0];
    //string 转 char[]
    for (unsigned i = 0; i < str2.length(); i++) {
        ch2[i] = str2[i];
    }
    //string 转 char*
    strcpy(ch3, str2.data());
    cout << ch3 << endl;
    //string 转 const char   --需要初始化
    const char ch = *str2.c_str();
    //string 转 const char*
    ch5 = str2.c_str();

注意:标准的string类提供了 STL 接口

可以使用如 begin()、end(),迭代器等等

string与char不同

string不一定以NULL(或'\0')结束
所以,不能将string直接赋值给char 。

string长度通过length()得到
通过下标访问string组成的每个字符元素。

当然最简单化的时使用

stringstream

stringstream使用时必须包含
#include <sstream>

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值