MFC的CString使用
CString没有基类。
一个CString对象由可变长度的一队字符组成。CString使用类似于Basic的语法提供函数和操作符。连接和比较操作符以及简化的内存管理使CString对象比普通字符串数组容易使用。
CString是基于TCHAR数据类型的对象。如果在你的程序中定义了符号_UNICODE,则TCHAR被定义为类型wchar_t,即16位字符类型;否则,TCHAR被定义为char,即8位字符类型。在UNICODE方式下,CString对象由16位字符组成。非UNICODE方式下,CString对象由8位字符组成。
当不使用_UNICODE时,CString是多字节字符集(MBCS,也被认为是双字节字符集,DBCS)。注意,对于MBCS字符串,CString仍然基于8位字符来计算,返回,以及处理字符串,并且你的应用程序必须自己解释MBCS的开始和结束字节。
| CString | 以各种方法构造一个CString对象 |
| GetLength | 返回CString对象中的字符数。对多字节字符,按8位字符计算;即在一个多字节字符中一个开始和结束字节算作两个字符 |
| IsEmpty | 测试一个CString对象中是否不含有字符 |
| Empty | 强制一个字符串的长度为0 |
| GetAt | 返回在给定位置的字符 |
| operator [] | 返回在给定位置的字符--它是代替GetAt的操作符 |
| SetAt | 设置给定位置上的字符 |
| operator LPCTSTR | 像访问一个C风格的字符串一样,直接访问保存在一个CString对象中的字符 |
分配/串联
| operator = | 给CString对象赋一个新值 |
| operator + | 连接两个字符串并返回一个新字符串 |
| operator += | 把一个新字符串连接到一个已经存在的字符串的末端 |
比较
| operator 比较操作符 | 比较操作符(大小写敏感) |
| Compare | 比较两个字符串(大小写敏感) |
| CompareNoCase | 比较两个字符串(不区分大小写) |
| Collate | 比较两个字符串(大小写敏感,使用现场特别信息) |
| CollateNoCase | 比较两个字符串(不区分大小写,使用现场特别信息) |
提取
| Mid | 提取一个字符串的中间一部分(类似于BASIC的MID$函数) |
| Left | 提取一个字符串的左边一部分(类似于BASIC的LEFT$函数) |
| Right | 提取一个字符串的右边一部分(类似于BASIC的RIGHT$函数) |
| SpanIncluding | 提取一个字符串,该子字符串中仅含有某一字符集合中的字符。 |
| SpanExcluding | 提取一个字符串,该子字符串中不含有某一字符集合中的字符。 |
其他转换
| MakeUpper | 将字符串中的所有字符转换为大写字符 |
| MakeLower | 将字符串中的所有字符转换为小写字符 |
| MakeReverse | 将字符串中的字符以倒序排列 |
| Replace | 用其它字符替换指定的字符 |
| Remove | 从一个字符串中移走指定的字符 |
| Insert | 在字符串中的给定索引处插入一个字符或一个子字符串 |
| Delete | 从一个字符串中删除一个或多个字符 |
| Format | 像sprintf函数一样格式化该字符串 |
| FormatV | 像vprintf函数一样格式化该字符串 |
| TrimLeft | 将字符串中前面的空格整理出字符串 |
| TrimRight | 将字符串中结尾的空格整理出字符串 |
| FormatMessage | 格式化一个消息字符串 |
搜索
| Find | 在一个较大的字符串中查找字符或子字符串 |
| ReverseFind | 在一个较大的字符串中从末端开始查找某个字符 |
| FindOneOf | 查找与某个字符集合中的字符相匹配的第一个字符 |
MFC的CString使用的更多相关文章
- 简析MFC中CString用作C字符串
MFC中CString是一个方便的字符串操作的类, 然而很多函数需要传递字符指针, 这就需要进行CString和普通字符串的转换. 1.CString用作C字符串常量. 直接使用强制类型转换即可, ...
- MFC中CString.Format的用法
http://www.cnblogs.com/kongtiao/archive/2012/06/13/2548033.html 在MFC程序中,使用CString来处理字符串是一个很不错的选择.CSt ...
- mfc中CString转化为string的方法
LL(1)分析法实验的mfc做到最后因为CString转化为string的问题卡了一个多小时,也是惨,网上各种方法找过都不行.幸亏最后还是找到几行代码搞定了.特此mark一下. USES_CONVER ...
- 关于在mfc中cstring转为float和ini
CString str1,str, str2; GetDlgItemText(IDC_EDIT1, str1); GetDlgItemText(IDC_EDIT2, str2); UINT value ...
- MFC中CString.Format的详细用法
本文转载自:http://blog.csdn.net/wangkaishou/article/details/5846152,感谢网友 Technorati 标签: CString For ...
- MFC中CString.Format类详解
在MFC程序中,使用CString来处理字符串是一个很不错的选择.CString既可以处理Unicode标准的字符串,也可以处理ANSI标准的字符串.CString的Format方法给我们进行字符串的 ...
- MFC中CString转换成char数组的问题
由于结构体中用到联合体(联合体需要确定分配内存分配大小)或其它因素,需要用char数组来保存字符串,但是在MFC中一般都是用CString来存放字条串.关于它们之间的转换,在VS2008中有时会出现异 ...
- 实战c++中的string系列--std::string与MFC中CString的转换
搞过MFC的人都知道cstring,给我们提供了非常多便利的方法. CString 是一种非常实用的数据类型. 它们非常大程度上简化了MFC中的很多操作,使得MFC在做字符串操作的时候方便了非常多.无 ...
- VS2013 MFC C++ CString ,const char , char, string 类型转换
VS2013 测试 以下测试加入头文件: # include <string>#include <cstdlib>using namespace std; //-------- ...
- c++之常见数据类型(int,double,float,long double long long 与std::string之间)相互转换(含MFC的CString、含C++11新特性函数)
--- 已经通过初步测试---- ------------------ 下面的是传统常见数据类型的转换(非c++11)--------------- std::string 与其他常用类型相互转换, ...
随机推荐
- java transient关键字(转载)
博客来源:http://www.blogjava.net/fhtdy2004/archive/2009/06/20/286112.html Volatile修饰的成员变量在每次被线程访问时,都强迫从主 ...
- iOS9新特性之泛型
iOS9新特性之泛型 作用:限制类型 好处:1.提高开发规范,减少程序员之间的交流 2.通过集合取出来的对象,直接当作泛型对象使用,可以直接使用点语法(id类型不能使用点语法) 使用场景: 1.在集 ...
- Javascript MVC 学习笔记(二) 控制器和状态
今天进入第二个部分:控制器. 控制器和状态 从以往的开发经验来看.我们都是将状态保存在server的session或者本地cookie中,但Javascript应用往往被限制在单页面,所以我们也能够将 ...
- 【BZOJ2729】[HNOI2012]排队 组合数
[BZOJ2729][HNOI2012]排队 Description 某中学有 n 名男同学,m 名女同学和两名老师要排队参加体检.他们排成一条直线,并且任意两名女同学不能相邻,两名老师也不能相邻,那 ...
- JQery 动态填充数据到table 中
说明: 1.把数据库中的数据查询出来,填充到前台的table中,注意 从数据查询出来的 属性IsNew="0"(table 行tr的属性) 2.单击“添加”按钮 新添加行追加到ta ...
- 面向资源操作的http请求
Guide | Echo - High performance, minimalist Go web framework https://echo.labstack.com/guide e.POST( ...
- 为编译器的实现者提供一个精确的定义:ANSI C
编译器的实现 常用C++编译器推荐_w3cschool https://www.w3cschool.cn/cpp/cpp-zxm72ps8.html 常用C++编译器推荐 由 Alma 创建, 最后一 ...
- vmware虚拟机centos网络配置错误,执行/etc/init.d/network start 或 restart 提示Device eth0 has different MAC address than expected, ignoring
vmware虚拟机centos网络配置错误,执行/etc/init.d/network start 或 restart 提示Device eth0 has different MAC address ...
- 笔记,将CString转换为数值
ANSI UNICODE TCHAR int atoi _wtoi _ttoi long atol _wtol _ttol double atof ...
- ubuntu搭建ftp
腾讯云服务器linux Ubuntu操作系统安装ftp服务器vsftpd Ubuntu Server 16.04.1 LTS 64位 登录服务器 xshell 登录服务器 用户名如果没自定义默认:u ...