当前位置:首页 > 编程笔记 > 正文
已解决

C++各种字符转换

来自网友在路上 177877提问 提问时间:2023-11-20 07:50:02阅读次数: 77

最佳答案 问答题库778位专家为你答疑解惑

C++各种字符转换

  • 一.如何将char数组转化为string类型
  • 二. string转char数组:
  • 参考

一.如何将char数组转化为string类型

在C++中,可以使用string的构造函数或者赋值操作符来将char数组转换为string类型。
方法1:使用string的构造函数

    const char* chars = "Hello";std::string str(chars); // 使用构造函数进行转换cout<<str<< endl;

方法2:使用赋值操作符

    const char* chars2 = "World";std::string str2;str2 = chars2; // 使用赋值操作符进行转换cout<<str2<< endl;

在这里插入图片描述

二. string转char数组:

1、调用strcpy函数,和字符串的data函数: (char数组可以更改)(string转char数组)

①、strcpy不能赋值给char指针 ,只能赋值给char数组;
②、char数组长度,必须大于等于string长度。

#include<iostream>
#include<cstring>
using namespace std;int main()
{	string s="123456"; char c[s.length()]; /***调用strcpy函数,和字符串的data函数 **1、strcpy不能赋值给char指针 ,只能赋值给char数组 **2、char数组长度,必须大于等于string长度 */ strcpy(c,s.data()); 	c[0]='6';cout<<c<<endl;cout<<strlen(c);return 0;
}

在这里插入图片描述
2.调用data函数:(string转char*)

只能赋给const char指针。
const char指针,只是说它指向的东西,不能再重新赋值,但可以改变指向。

#include<iostream>
#include<cstring>
using namespace std;int main()
{	string str = "hello";const char* p = str.data();//加const或者用char *p=(char*)str.data();//*p="Go";  ======>报错:[Error] invalid conversion from 'const char*' to 'char' [-fpermissive] //                       [Error] assignment of read-only location '* p' cout<<p<<endl; char a[]="Nice";p=a;cout<<p;return 0;}

3、调用c_str函数:

#include<iostream>
#include<cstring>
using namespace std;int main()
{	string str = "hello";const char* p = str.c_str();//加const或者用char *p=(char*)str.data();cout<<p<<endl; char a[]="Nice";p=a;cout<<p;return 0;
}

参考

  • c++ char转string类型
  • string与char数组相互转换
查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"C++各种字符转换":http://eshow365.cn/6-40152-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!