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 与其他常用类型相互转换, ...
随机推荐
- 【BZOJ4956】lydsy七月月赛 I 乱搞
[BZOJ4956]lydsy七月月赛 I 题面 题解:傻题,Floyd传递闭包即可~ #include <cstdio> #include <cstring> #includ ...
- 九度OJ 1124:Digital Roots(数根) (递归)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:2963 解决:1066 题目描述: The digital root of a positive integer is found by s ...
- The basic principle of test case 修改引擎
The basic principle of test case evaluation is that output resulting from running a test case is com ...
- Windows消息、绘图与多线程
有一个项目,一旦点下按钮后,用死循环不停的读数据,读出后立刻用可视化的方法显示.如果不采用多线程的方法,程序运行都正确,但无法关闭窗口,不清楚是窗口无法通过关闭按钮来接受Windows消息,还是接受了 ...
- Android Handle,Looper,Message消息机制
尊重原创,转载请标明出处 http://blog.csdn.net/abcdef314159 我们知道在Android中更新UI都是在主线程中,而操作一些耗时的任务则须要在子线程中.假设存在多个 ...
- PAT 天梯赛 L3-010. 是否完全二叉搜索树 【Tree】
题目链接 https://www.patest.cn/contests/gplt/L3-010 思路 因为是 完全二叉搜索树 可以用 数据 建树的方式 然后 遍历一遍这个 数字 就是 层序遍历 遍历的 ...
- 解决 eclipse出现 Address already in use: bind
今天开发遇到下面问题,贴出部分异常信息,如下: [WARNING] failed SelectChannelConnector@ java.net.BindException: Address alr ...
- python字典无序?有序?
默认情况下Python的字典输出顺序是按照键的创建顺序. 字典的无序是指,不能人为重新排序.比如说你按键值1,2,3,4的顺序创建的字典,只能由解析器按创建顺序,还是1,2,3,4的输出.你无法控制它 ...
- BZOJ 1623 [Usaco2008 Open]Cow Cars 奶牛飞车:贪心
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1623 题意: 编号为1到N的N只奶牛正各自驾着车打算在牛德比亚的高速公路上飞驰.高速公路有 ...
- BestCoder7 1001 Little Pony and Permutation(hdu 4985) 解题报告
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4985 题目意思:有 n 个数,对于第 i 个数给出 σ(i) 的值.求出互不相交的循环的个数,并输出每 ...