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 与其他常用类型相互转换, ...
随机推荐
- 【TensorFlow-windows】(三) 多层感知器进行手写数字识别(mnist)
主要内容: 1.基于多层感知器的mnist手写数字识别(代码注释) 2.该实现中的函数总结 平台: 1.windows 10 64位 2.Anaconda3-4.2.0-Windows-x86_64. ...
- 一个经典的比喻( 关于TCP连接API )
前言 编程是对现实世界的模拟,网络通信自然也是对现实世界通信的模拟.可以将网络通信中使用的各种API和对现实世界中的各种通信设备进行通讯的操作进行对比以加深理解. 对比 socket() 函数 vs ...
- 获取iOS系统版本号,慎重使用[[[UIDevice currentDevice] systemVersion] floatValue]——【sdk缺陷】
iOS 最常见的获取系统版本的方法是: [[[UIDevice currentDevice] systemVersion] floatValue] 可是.这个floatValue是不靠谱的,这也算是i ...
- less 一种 动态 样式 语言
LESS « 一种动态样式语言 http://www.bootcss.com/p/lesscss/ 一种 动态 样式 语言. LESS 将 CSS 赋予了动态语言的特性,如 变量, 继承,运算, 函数 ...
- 如何克隆UBUNTU14.04LTS
先对目标盘sdb做好处理,分区,格式化,挂载等操作sudo fdisk /dev/sdb1fdisk常用命令如下,m是帮助,n创建新分区,d删除分区,w保存退出.分好区后,对sdb1进行格式化和挂载: ...
- ZOJ - 3956 Course Selection System 【01背包变形】
题目链接 http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3956 题意 给出N组Hi Ci 然后 要选出若干个 使得 这个式 ...
- ThinkPHP使用方法与心得
ThinkPHP相信PHP程序员对它并不陌生,通过自己的学习在此发表个人看法,也为以后自己查找ThinkPHP方面的知识更加方便. 一.mvc及数据库CURD操作流程: 1.新建数据库:数据库名称:1 ...
- 如何配置DSI时钟频率
[DESCRIPTION] 计算DSI数据速率的方式,以及如何配置时钟clk的方式 [KEYWORD] dsi.data rate.mipi clk [SOLUTION] 1.DSI vdo mode ...
- bzoj4474: [Jsoi2015]isomorphism
树hash啊 我的做法很垃圾,就是yy一种只有一个孩子时hash值和孩子一样的hash法 然后用重心去作为根遍历 这样有点问题,就是重心假如也是要删掉的那就gg了 那我们求tot的时候删掉的点就不管直 ...
- codeforces B. George and Round 解题报告
题目链接:http://codeforces.com/contest/387/problem/B 题目意思:给出1-n个问题,以及要满足是good rounde条件下这n个问题分别需要达到的compl ...