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 与其他常用类型相互转换, ...
随机推荐
- mysql 中alter语句中change跟modify的区别
mysql 中alter语句中change和modify的区别可以使用CHANGE old_col_name column_definition子句对列进行重命名.重命名时,需给定旧的和新的列名称和列 ...
- java中 hashCode() 和 equals()
1. 值类型是存储在内存中的栈,而引用类型的变量在栈中仅仅是存储引用类型变量的地址来自堆,而其本身则存储在栈中. 2. ==操作比较的是两个变量的值是否相等, 3. 对于引用型变量表示的是两个变量在堆 ...
- 九度OJ 1132:与7无关的数 (数字特性)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:1619 解决:1037 题目描述: 一个正整数,如果它能被7整除,或者它的十进制表示法中某个位数上的数字为7, 则称其为与7相关的数.现求所 ...
- 九度OJ 1122:吃糖果 (递归)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:1522 解决:1200 题目描述: 名名的妈妈从外地出差回来,带了一盒好吃又精美的巧克力给名名(盒内共有 N 块巧克力,20 > N ...
- java中Integer在JDK1.6和JDK1.7中的区别
运行下面这段代码: System.out.println(Integer.valueOf("127")==Integer.valueOf("127")); Sy ...
- CAN协议与CANOpen协议
这里详细介绍了CAN协议中数据通信帧每位的含义,有图片,值得一看:https://www.cnblogs.com/pejoicen/p/3986587.html 这里介绍了CanOpen协议,http ...
- AndroidDragAndDrop.java
以下代码使用ApiDemos-debug.apk进行测试 package com.saucelabs.appium; import io.appium.java_client.AppiumDriver ...
- MongoDB 倾向于将数据都放在一个 Collection 下吗?
不是这样的. Collection 的单个 doc 有大小上限,现在是 16MB,这就使得你不可能把所有东西都揉到一个 collection 里.而且如果 collection 结构过于复杂,既会影响 ...
- Backbone vs AngularJS
首先 Backbone 没有 AngularJS 那么容易上手. 而且作者并没有想让Backbone草根化的意思. Backbone 比喻成战斗机. 看上去更像是真正的MVC框架, model-vie ...
- HDU4549 M斐波那契数列 —— 斐波那契、费马小定理、矩阵快速幂
题目链接:https://vjudge.net/problem/HDU-4549 M斐波那契数列 Time Limit: 3000/1000 MS (Java/Others) Memory Li ...