最近被字符串搞的好惨

C++语言 码拜 8年前 (2016-05-12) 1102次浏览
char*
string
CString
宽窄
const非const。
有没有系统讲讲的博客,文章之类的啊
解决方案

30

                   窄                        宽
C           char*                  wchar_t*
C++      std::string          std::wstring
MFC                  CString    根据工程设置能否是 UNCIDOE 来决定使用宽字符还是窄字符
“xxxx”  的类型是 const char*, 但是以前 C 里面是没有 const  的, 所以为了兼容也允许 char* xxx = “xxxx”  这样
L”xxxx” 的类型是 const wchar_t*

20

char* 是C语言风格的,也就是C语言中的
string 是C++的标准库里面的一个类
CString 是MFC也就是微软一个库里面的类
const是C++里面对常量的一种表示,也就是不能改变的量
虽然它们都是字符串,但应用场景是不同的,建议用到哪个学哪个,在具体问题中去学习,这样才能灵活运用,没必要做硬性区分
相关的博客也有很多,你百度一下就知道了

20

引用:
Quote: 引用:

char* 是C语言风格的,也就是C语言中的
string 是C++的标准库里面的一个类
CString 是MFC也就是微软一个库里面的类
const是C++里面对常量的一种表示,也就是不能改变的量
虽然它们都是字符串,但应用场景是不同的,建议用到哪个学哪个,在具体问题中去学习,这样才能灵活运用,没必要做硬性区分
相关的博客也有很多,你百度一下就知道了

主要是库函数接口对于 入参的类型已经订好了,而我们计算存取方便,类型会取不同,之间涉及到转化关系,也是蛮头大的

具体的转换细节可以参考这篇博客http://blog.csdn.net/luoweifu/article/details/20232379

20

10

char 基本数据类型 字符型
char* 字符型指针(例如一串佛珠,只需捏住第一颗(首地址),就可以掌握整串珠子)
string STL中的一个封装类库,基本处理的也是char*
CString MFC中的一个处理字符串的类
至于互相转化,可以随便搜一下就有,基本都是引用类中的对应方法可以获得其中的char*类型的副本

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明最近被字符串搞的好惨
喜欢 (0)
[1034331897@qq.com]
分享 (0)