当前位置: 首页 > article >正文

C++各种字符转换

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数组相互转换

http://www.kler.cn/a/133254.html

相关文章:

  • Ubuntu 18 EDK2 环境编译
  • 【eNSP】路由基础与路由来源——静态路由实验
  • H.265流媒体播放器EasyPlayer.js H.264/H.265播放器chrome无法访问更私有的地址是什么原因
  • 一文说清libc、glibc、glib的发展和关系
  • Spark RDD中常用聚合算子源码层面的对比分析
  • SkyWalking-安装
  • 常用的软件架构设计模式
  • 【算法挨揍日记】day31——673. 最长递增子序列的个数、646. 最长数对链
  • python-opencv五种自动白平衡算法,附源码直接可用(均值、完美反射、灰度世界、动态阈值、基于图像分析的偏色检测及颜色校正)
  • Flutter笔记:Matrix4矩阵变换与案例
  • 安卓手机投屏到电视,跨品牌、跨地域同样可以实现!
  • hive sql 行列转换 开窗函数 炸裂函数
  • 对象与this
  • PS学习笔记——初识PS界面
  • sql server 多行数据合并一行显示
  • MyBatis学习
  • 麻将馆电脑计费系统,棋牌室怎么用电脑控制灯计时,佳易王计时计费系统软件下载
  • 浏览器里设置代理的作用
  • 【Linux】kernel与应用消息队列的一种设计
  • Redis篇---第七篇
  • DAC实验(DAC 输出三角波实验)(DAC 输出正弦波实验)
  • 机器人走迷宫问题
  • ubuntu18.04中代码迁移到20.04报错
  • 【数据结构】栈与队列的实现
  • webpack的安全保障是怎么做的?
  • Windows使用ssh远程连接(虚拟机)Linux(Ubuntu)的方法