当前位置:金屋文档› C++各种字符转换

C++各种字符转换

文章标签:: c++ xcode ios macos 开发语言
文章摘要: 字符串转换

C++各种字符转换

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

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

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

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

方法2:使用赋值操作符

constchar* 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>usingnamespace std;intmain(){		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);		return0;}


2.调用data函数:(string转char*)

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

#include<iostream>#include<cstring>usingnamespace std;intmain(){		string str ="hello";	constchar* 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;		return0;	}

3、调用c_str函数:

#include<iostream>#include<cstring>usingnamespace std;intmain(){		string str ="hello";	constchar* p = str.c_str();//加const或者用char *p=(char*)str.data();		cout<<p<<endl; 		char a[]="Nice";	p=a;		cout<<p;		return0;}

参考

  • c++ char转string类型
  • string与char数组相互转换
相关文档
  • 转换

  • 字符

  • C++

相关文档推荐: