更多课程 选择中心

C/C++培训
达内IT学院

400-111-8989

C++字符串类型以及转化知识

  • 发布:C++培训
  • 来源:学习笔记
  • 时间:2017-08-07 17:06

C++中,字符串有好几种类型:

char*

char[]

std::string

CString

他们都能代表一个字符串,也时常需要转换

下面先给出一些类型需要包含的头文件

char* char[] 不需要引入头文件

std::string #include <string>

CString #include <afx.h> //注:MFC类,不能和windows.h同时使用

*同时要注意是否引入了MFC类

如果没有使用MFC类,程序无法生成

下面是几种类型的转化:

char* To ...

char* -> char[]

char* str="...";

char sz[256];

strcpy(sz,str);

char*->std::string

char* str="...";

string s=str;

char*->CString

char* sz="";

CString str=sz;

char[] To ...

char[]->char*

char str[]="...";

char* pch=str;

char[]->std::string

char str[]="...";

std::string s=str;

char[]->CString

char str[]="..";

CString s=str;

std::string To ...

std::string ->char*

std::string str="...";

char* sz=(char*)str.c_str();

std::string ->char[]

std::string str="...";

char sz[256];

strcpy(sz,(char*)str.c_str());

std::string->CString

std::string str="...";

CString s=(char*)str.c_str();

CString To ...

CString ->char*

CString str="...";

char* sz=new char[256];

strcpy(sz,str);

CString ->char[]

CString str="...";

char sz[256];

strcpy(sz,str);

CString ->std::string

CString str="...";

std::string s=str;

我们发现,这些类型之间的转化方法有所不同,有的可以直接转化,而有的需要函数操作

通过以上代码,我们可以总结出以下几点:

数组名可以作为字符串的地址值,可以直接传递给指针,而指针指向的就是这个字符数组(原字符串),二者共用同一位置的内存

std::string和CString类可以直接赋一个char*值

std::string的c_str()函数可以实现string->const char*的转化,而一种类型的指针可以强制转换为任何类型的指针,而const char和char均为一个字节,二者的指针可以强制转化

预约申请免费试听课

填写下面表单即可预约申请免费试听!怕钱不够?可就业挣钱后再付学费! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:单片机C语言的补码解释及运算
下一篇:C语言变量入门知识点

C语言创建windows窗口实例

C++回调函数是什么?

C++ shared_ptr和动态数组

C语言有哪些关键词,C语言44个关键词大全

  • 扫码领取资料

    回复关键字:视频资料

    免费领取 达内课程视频学习资料

  • 搜索抖音号

    搜索抖音号:1821685962

    免费领取达内课程视频学习资料

Copyright © 2021 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省