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

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.lryc.cn/news/236301.html

相关文章:

  • MSSQL-逻辑级常用命令
  • 【如何学习Python自动化测试】—— 时间等待
  • 《数字图像处理-OpenCV/Python》连载(44)图像的投影变换
  • AI机器学习 | 基于librosa库和使用scikit-learn库中的分类器进行语音识别
  • Asp.net MVC Api项目搭建
  • C语言中文网 - Shell脚本 - 8
  • 性能测试学习——项目环境搭建和Jmete学习二
  • C++标准模板库(STL)-map介绍
  • 使用docker部署ELK日志框架-Elasticsearch
  • 第7章 模式匹配与正则表达式
  • 单元测试实战(三)JPA 的测试
  • 初刷leetcode题目(3)——数据结构与算法
  • 76基于matlab的免疫算法求解配送中心选址问题,根据配送地址确定最佳配送中心地址位置。
  • C++二分查找算法:找到 Alice 和 Bob 可以相遇的建筑
  • 建立跨层全栈的区块链安全保障系统-应用层,系统层,设施层
  • 程序员告诉你:人工智能是什么?
  • 飞书开发学习笔记(七)-添加机器人及发送webhook消息
  • C/C++统计数 2021年12月电子学会青少年软件编程(C/C++)等级考试一级真题答案解析
  • 从一到无穷大 #19 TagTree,倒排索引入手是否是优化时序数据库查询的通用方案?
  • 程序员带你入门人工智能
  • 机器学习笔记 - 了解常见开源文本识别数据集以及了解如何创建用于文本识别的合成数据
  • openssl开发详解
  • conda虚拟环境中安装的cuda和服务器上安装的cuda的异同
  • 股东入股可用的出资形式主要有哪些
  • react中设置activeClassName的笔记
  • JS原型对象prototype
  • nodejs+vue实验室上机管理系统的设计与实现-微信小程序-安卓-python-PHP-计算机毕业设计
  • SpringBoot 注解开发
  • 使用持久卷部署 WordPress 和 MySQL
  • 2024年csdn最新最全的Postman接口测试: postman实现参数化