string、char *、char []之间的相互转换
最近工作中遇到了string、char *、char []之间的相互转换,今天终于抽出时间将他们之间的转换记录下来,使用的是CodeBlocks软件,编译器为GNU GCC compiler,下面看代码:
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <thread>
#include <stdlib.h>
using namespace std;
int main() {
//string --> char *
string str1 = "hello";
char *p1 = const_cast<char *>(str1.c_str());
printf("p1=%s.\n", p1);
//string --> char c[]
string str2 = "world";
char c[10] = {0};
int len1 = str2.size();
int i = 0;
for (i = 0; i < len1; ++i) {
c[i] = str2[i];
}
c[i] = '\0';
printf("c=%s.\n", c);
//char c[] --> string
char c2[10] = "great";
string str3 = c2;
cout << "str3=" << str3 << endl;
//char * --> string
char *p2 = "wall";
string str4 = p2;
cout << "str4=" << str4 << endl;
//char * -->char []
char *p3 = "china";
char c3[10] = {0};
int len2 = sizeof(c3);
strncpy(c3, p3, len2);
printf("c3=%s.\n", c3);
//char [] -->char *
char c4[10] = "haha";
int len3 = strlen(c4);
char *p4 = new char[len3+1];
strncpy(p4, c4, len3);
printf("p4=%s.\n", p4);
delete []p4;
return 0;
}
运行结果如下:
string、char *、char []之间的相互转换相关推荐
- PInvoke复习之深入理解char*与wchar_t*与string以及wstring之间的相互转换
本篇文章是对c++中的char*与wchar_t*与string以及wstring之间的相互转换进行了详细的分析介绍,需要的朋友参考下 #ifndef USE_H_ #define USE_H_ #i ...
- MFC中CString类字符串与长整型、浮点型、字符数组char数据之间的相互转换
一.长整型数据与CString类字符串相互转换 1.将长整型数据转换为CString字符串类 CString str; long ld; str.Format(_T("%ld"), ...
- C# char[]与string之间的相互转换
string 兑换 Char[] string ss = "abcdefg";char[] cc = ss.ToCharArray(); Char[] 转换成string stri ...
- MFC中的CString.Format及CString,string,char*之间的转换
1.CString.Format的使用:https://blog.csdn.net/wangkaishou/article/details/5846152 2.CString,string,char* ...
- java中三种转string的方法_java中int,char,string三种类型的相互转换
如何将字串 String 转换成整数 int? int i = Integer.valueOf(my_str).intValue(); int i=Integer.parseInt(str); 如何将 ...
- MFC中char*,string和CString之间的转换
string是使用STL时必不可少的类型,所以是做工程时必须熟练掌握的: char*是从学习C语言开始就已经和我们形影不离的了,有许多API都是以char*作为参数输入的.所以熟练掌握三者之间的转换十 ...
- String类以及String与基本数据类型/char[]/byte[]之间的转换
String类: 1.String 声明为final的,不可被继承 2.String实现了Serializable接口:表示字符串是支持序列化的. 实现了Comparable接口:表示String可以 ...
- Arduino 中String 与char *,char[]之间赋值
只是简单实现String与char *,char[]之间的赋值: 其中: xch2 = char1; //可以正常赋值 但是不能反过来赋值: char3 = xch1; //会出错 同 ...
- char, unsigned char, int,unsigned int之间的相互转换
char, unsigned char, int,unsigned int之间的相互转换 2018年12月01日 23:45:21 _业精于勤_ 阅读数:667 标签: 数据转换 更多 个人分类: C ...
最新文章
- 在线翻译系统属于计算机应用领域中,【单选题】网状物编织物和机件上的滚花部分,可以在轮廓线附件用( )线示意画出...
- 学习一下国际巨头互联网公司的一些运营与管理思路!
- C++ size_t 与 size_type区别
- python软件开发的一般流程-Python各个岗位的开发流程
- openstack前世今生
- java 面向对象个人理解
- 改变文件权限的用户身份
- matlab保存图片时不使用指令设置图像分辨率、尺寸等
- mysql spool csv报错_Oracle使用spool快速导出超大表
- 迅雷上传速度怎么限制的方法
- 盘点13个值得程序员逛的论坛
- 几点减几点怎么列算式_时间加减法怎么算
- 用C语言实现FlappyBird
- 药片计数器电路设计与实验
- word页边距调整步骤
- 训练营四教官打死网瘾少年案今开庭审理
- 【论文阅读01】2021 兵棋推演的智能决策技术与挑战 尹奇跃
- 鞍部在哪里_富春江,富春江在哪里_富春江在哪个省_属于哪个省_就去旅游网
- 【小白学Java】D20》》》Iterator迭代器 增强for循环
- 智能音箱 天猫精灵 X1 + Broadlink 打造智能家居摇控
热门文章
- Linux : shell基础(慕课网Linux达人养成计划课程笔记)
- [转载]C#异步委托的用法 .
- 用iptables实现G1手机cmwap代理上http网站[转]
- ocs 2007技巧:查看存档服务记录的消息内容
- Diango博客--19.使用 Docker部署项目到线上服务器
- 人生苦短,我用python——当我在玩python的时候我玩些什么 -
- docker二进制安装mysql_Docker搭建MySQL读写分离主从模式 分布式数据库中间件Mycat分库分表应用...
- C语言判断两字符串同构,c语言实现判断两颗树是否同构
- mysql和web文件夹_Linux使用记录---自动备份MySQL和web文件夹到windows共享路径
- input子系统基础之按键1——什么是input子系统?