CString 串是怎么处理汉字和字母的?

arfu 2001-04-29 08:44:00
CString s="abc大家好def";

GetAt(5); 是多少?

我要取出每一个元素来进行处理,如果在字符串中有回车和空格的话。能不能取到s中的回车和空格呢?
...全文
92 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wjyasd 2001-04-30
  • 打赏
  • 举报
回复
呵呵,还挺复杂的!
swordmanII 2001-04-30
  • 打赏
  • 举报
回复
CString类会自动根据操作系统使用不同的字符集,
所以在win2000下,只要每隔10个元素插入一个回车就可以了,
不管这十个字符是字母还是汉字;而在win98下要稍微麻烦一点,
先要把第十个字符取出, 然后调用IsDBCSLeadByte进行判断一下,
如果返回真,则要在下一个字符后才能插入回车,如果返回假,
就可以立即插入回车。
arfu 2001-04-29
  • 打赏
  • 举报
回复
arfu 2001-04-29
  • 打赏
  • 举报
回复
我所设置的cstring是 对话框的edit控件的成员, 我要对该字符串每10个元素(字母,或者汉字)后添加一个换行。

如何做呢?

如何声明unicode, 在win98 和 winNT2000
swordmanII 2001-04-29
  • 打赏
  • 举报
回复
GetAt(5)在不同的运行平台下有不同的结果。由于windows nt采用Unicode字符,所以GetAt(5)返回的是"大"的值,具体说是一个short型的整型值;而window98采用的单字节字符集,所以GetAt(5)将返回值的最高比特位是1,也就是扩展AscII字符,不可显示。
第2章 数据类型 35 2.1 常用类型 36 0084 CString的多种初始化方式 36 0085 Windows字符指针类型分析 36 0086 BSTR类型与CString类型的相互转换 36 0087 _bstr_与其他字符类型的相互转换 37 0088 _VARIANT类型的初始化 37 0089 _variant_t与字符类型的转换 38 0090 ColeVariant与其他数据类型的转换 38 0091 格式化类型 39 2.2 类型转换 39 0092 CString和char*之间的转换 39 0093 char与char*类型应用 39 0094 COLORREF类型转换RGB分量 40 0095 DWORD与 WORD之间的转换 40 0096 WORD与BYTE之间的转换 40 0097 字符数值转换 40 2.3 字符截取与转换 41 0098 获取字符中的中文 41 0099 英文字符字母大写 41 0100 指定符号分割字符 42 0101 在文本中删除指定的中文或中文句子 43 0102 替换指定的字符 44 0103 向字符中添加子字符 44 0104 截取字符中的数字 45 0105 将选定字符转换成大写 46 0106 截取指定位置的字符 47 2.4 字符的比较与判断 48 0107 判断字符中是否有中文 48 0108 判断字符是否可以转换成整数 48 0109 如何判断字符是否含有数字 49 0110 判断指定位置字符的大小写 49 0111 判断字符中是否有指定的字符 50 0112 两个字符进行比较 50 0113 在进行字符比较时忽略大小写 50 0114 获取字符中的英文子字符 51 2.5 字符技巧 52 0115 字符加密 52 0116 字符连接 52 0117 如何在字符中使用双引号 53 0118 如何在字符中添加多个空格 53 0119 字符反转 53 0120 去除字符首尾空格 53 0121 去除字符中所有的空格 53 2.6 字符应用 54 0122 将选定内容复制到剪贴板 54 0123 在ListBox中查找的字符 54 0124 编辑框的行数,以及回车换行的数量 55 0125 字符数组搜索 55 0126 设置编码方式 56 2.7 字符统计 56 0127 如何统计中文个数 56 0128 获取字符中数字位置 56 0129 获取字符在字符中最后出现的位置 57 0130 获取大写字符的位置 58 0131 统计字符个数 59 0132 获取字符在字符中出现的位置 60 0133 获取字符在字符中出现的次数 61 0134 获取指定字符起始位置 62 0135 获取字符中英文字母个数 63
----------Database-------------- 1.DataTable帮助类(DataTableHelper.cs) 2.Access数据库文件操作辅助类(JetAccessUtil.cs) 3.常用的Access数据库Sql操作辅助类库(OleDbHelper.cs) 4.根据各种不同数据库生成不同【分页语句的辅助类】 PagerHelper(PageHelper.cs) 5.查询条件组合辅助类(SearchCondition.cs) 6.查询信息实体类(SearchInfo.cs) 7.类型(例如:int,string,double)转换(SmartDataReader.cs) 8.Sql命令操作函数(可用于安装程序的时候数据库脚本执行)(SqlScriptHelper.cs) ----------Device-------------- 1. 声音播放辅助类(AudioHelper.cs) 2. 摄像头操作辅助类,包括开启、关闭、抓图、设置等功能(Camera.cs) 3. 提供用于操作【剪切板】的方法(ClipboardHelper.cs) 4. 获取电脑信息(Computer.cs) 5. 提供用户硬件唯一信息的辅助类(FingerprintHelper.cs) 6. 读取指定盘符的硬盘序列号(HardwareInfoHelper.cs) 7. 提供访问键盘当前状态的属性(KeyboardHelper.cs) 8. 全局键盘钩子。这可以用来在全球范围内捕捉键盘输入。(KeyboardHook.cs) 9. 模拟鼠标点击(MouseHelper.cs) 10. 全局鼠标钩子。这可以用来在全球范围内捕获鼠标输入。(MouseHook.cs) 11. MP3文件播放操作辅助类(MP3Helper.cs) ----------Encrypt-------------- 1. 基于Base64的加密编码(Base64Util.cs) 2. 字符的加密/解密(EncodeHelper.cs) 3. MD5各种长度加密字符、验证MD5等操作辅助类(MD5Util.cs) 4. QQ的EncryptUtil(QQEncryptUtil.cs) 5. 非对称加密验证辅助类(RSASecurityHelper.cs) ----------File-------------- 1. 用于获取或设置Web.config/*.exe.config中节点数据的辅助类(AppConfig.cs) 2. CSV文件和DataTable对象转换辅助类(CSVHelper.cs) 3. DatabaseInfo 的摘要说明。(DatabaseInfo.cs) 4. 常用的目录操作辅助类(DirectoryUtil.cs) 5. Excel操作辅助类(无需VBA引用)(ExcelHelper.cs) 6. 利用VBA对象,导出DataView到一个Excel文档中的Excel辅助类(Export2Excel.cs) 7. 关联文件(ExtensionAttachUtil.cs) 8. 注册文件关联的辅助类(FileAssociationsHelper.cs) 9. 打开、保存文件对话框操作辅助类(FileDialogHelper.cs) 10. 常用的文件操作辅助类FileUtil(FileUtil.cs) 11. INI文件操作辅助类(INIFileUtil.cs) 12. 独立存储操作辅助类(IsolatedStorageHelper.cs) 13. 序列号操作辅助类(Serializer.cs) 14. 获取一个对象,它提供用于访问经常引用的目录的属性。(SpecialDirectories.cs) 15. 简单的Word操作对象(WordCombineUtil.cs) 16. 这个类提供了一些实用的方法来转换XML和对象。(XmlConvertor.cs) 17. XML操作类(XmlHelper.cs) ----------Format-------------- 1. 参数验证的通用验证程序。(ArgumentValidation.cs) 2. 这个类提供了实用方法的字节数组和图像之间的转换。(ByteImageConvertor.cs) 3. byte字节数组操作辅助类(BytesTools.cs) 4. 处理数据类型转换,数制转换、编码转换相关的类(ConvertHelper.cs) 5. CRC校验辅助类(CRCUtils.cs) 6. 枚举操作公共类(EnumHelper.cs) 7. 身份证操作辅助类(IDCardHelper.cs) 8. 检测字符编码的类(IdentifyEncoding.cs) 9. RGB颜色操作辅助类(MyColors.cs) 10. 日期操作类(MyDateTime.cs) 11. 转换人民币大小金额辅助类(RMBUtil.cs) 12. 常用的字符常量(StringConstants.cs) 13. 简要说明TextHelper。(StringUtil.cs) 14. 获取中文字首字拼写,随机发生器,按指定概率随机执行操作(Util.cs) 15. 各种输入格式验证辅助类(ValidateUtil.cs) ----------Network-------------- 1. Cookie操作辅助类(CookieManger.cs) 2. FTP操作辅助类(FTPHelper.cs) 3. HTML操作类(HttpHelper.cs) 4. 网页抓取帮助(HttpWebRequestHelper.cs) 5. Net(NetworkUtil.cs) 6. IE代理设置辅助类(ProxyHelper.cs) ----------Winform-------------- 1. 跨线程的控件安全访问方式(CallCtrlWithThreadSafety.cs) 2. CheckBoxList(CheckBoxListUtil.cs) 3. 窗口管理类(ChildWinManagement.cs) 4. 由马丁•米勒http://msdn.microsoft.com/en-us/library/ms996492.aspx提供一个简单的方法打印工作的一个RichTextBox一个帮手(ExRichTextBoxPrintHelper.cs) 5. 显示,隐藏或关闭动画形式。(FormAnimator.cs) 6. 对窗体进行冻结、解冻操作辅助类(FreezeWindowUtil.cs) 7. 窗体全屏操作辅助类(FullScreenHelper.cs) 8. GDI操作辅助类(GDI.cs) 9. 提供静态方法来读取这两个文件夹和文件的系统图标。(IconReaderHelper.cs) 10. 图片对象比较、缩放、缩略图、水印、压缩、转换、编码等操作辅助类(ImageHelper.cs) 11. 输入法帮助,全角 转换为半角(ImeHelper.cs) 12. Winform提示框 的摘要说明。(MessageUtil.cs) 13. 包含互操作方法调用的应用程序中使用。(NativeMethods.cs) 14. 托盘图标辅助类(NotifyIconHelper.cs) 15. 打印机类(POSPrinter.cs) 16. 图片、光标、图标、位图等资源操作辅助类(ResourceHelper.cs) 17. RTF字符格式辅助类(RTFUtility.cs) 18. 口开发辅助类(SerialPortUtil.cs) 19. 设置文本属性提供一个ToolStripStatusLabel(SafeToolStripLabel.cs) 20. 只运行一个实例及系统自动启动辅助类(StartupHelper.cs) 21. Web页面预览效果图片抓取辅助类(WebPageCapture.cs) 22. 供Asp.Net直接调用的包装类(WebPreview.cs) 23. 计算机重启、关电源、注销、关闭显示器辅助类(WindowsExitHelper.cs) ----------NONONONO-------------- 1. 全局统一的缓存类(Cache.cs) 2. 常用显示日期时间、农历、生肖的日历类(CCalendar.cs,DateTimeHelper.cs) 3. 中国农历年处理类(ChineseCalendar.cs) 4. 正则表达式辅助类(CRegex.cs) 5. CString 的摘要说明。(CString.cs) 6. CText文本内容的类库(CText.cs) 7. 初始化语言环境(CultureInfoUtil.cs) 8. 压缩文本、字节或者文件的压缩辅助类(GZipUtil.cs) 9. Log4Net日志记录辅助类(LogHelper.cs) 10. 中文字符转换为拼音或者拼音首字母的辅助类(PinYinUtil.cs) 11. 随机汉字辅助类(RandomChinese.cs) 12. 反射操作辅助类,如获取或设置字段、属性的值等反射信息。(ReflectionUtil.cs) 13. 注册表操作辅助类(RegistryHelper.cs) 14. 用于验证码图片识别的类(UnCodebase.cs) 15. 将原始字转换为unicode,格式为\u.\u.( UnicodeHelper.cs)
个个都是经典,下载保留着以后用的着 //----------------------------------------------------------------------------- // 函数名: ChangeDateToStandFormat // 功 能: 把 日期/时间 转化为标准格式 // 参 数: [oldDate] - 要转换的日期 // [oldTime] - 要转换的时间 // 说明: 把日期转化为标准格式 方便数据库进行时间比较 2011-1-1 转换为 2011-01-01 // 把时间转化为标准格式 方便数据库进行时间比较 9:1:1 转换为 09:01:01 //----------------------------------------------------------------------------- void ChangeDateToStandFormat(CString &oldDate); void ChangeTimeToStandFormat(CString &oldTime); //------------------------------------------------------------------------------ // 函数名:ExportDataToExcel // 功 能:导出vector数据到excel中 // 参 数:[forExportDatas] --要导出的数据集合 // 说明: //------------------------------------------------------------------------------ void ExportDataToExcel(std::vector< std::vectorString> > forExportDatas); //------------------------------------------------------------------------------ // 函数名: isVectorContainsItem // 功 能: 判断vector中是否包含所给的item // 参 数: [mVect] - 源vector // [mItem] - 要找的item // 说 明:如果vector中包含所传入的Item 则返回TRUE ,不包含则返回FALSE; //------------------------------------------------------------------------------ BOOL isVectorContainsItem(std::vectorString> mVect,CString mItem); //------------------------------------------------------------------------------ // 函数名: CheckName // 功 能: 判断用户输入字符是否符合要求 // 参 数: [str] - 要判断的字符 // 说 明:如果str只由字母、数字、下划线、汉字组成,返回true ,否则返回false //------------------------------------------------------------------------------ BOOL CheckName(const char * str); //------------------------------------------------------------------------------ // 函数名: CheckChinese // 功 能: 判断用户输入字符是否符合要求 // 参 数: [str] - 要判断的字符 // 说 明:如果str只由汉字组成,返回true ,否则返回false //------------------------------------------------------------------------------ BOOL CheckChinese(const char * str); //------------------------------------------------------------------------------ // 函数名: CheckDigit // 功 能: 判断用户输入字符是否符合要求 // 参 数: [str] - 要判断的字符 // 说 明:如果str只由数字组成,返回true ,否则返回false //------------------------------------------------------------------------------ BOOL CheckDigit(const char * str); //------------------------------------------------------------------------------ // 函数名: CheckAlphabetDigit // 功 能: 判断用户输入字符是否符合要求 // 参 数: [str] - 要判断的字符 // 说 明:如果str只由数字、字母组成,返回true ,否则返回false //------------------------------------------------------------------------------ BOOL CheckAlphabetDigit(const char * str); //------------------------------------------------------------------------------ // 函数名: CheckAlphabetChinese // 功 能: 判断用户输入字符是否符合要求 // 参 数: [str] - 要判断的字符 // 说 明:如果str只由汉字字母组成,返回true ,否则返回false //------------------------------------------------------------------------------ BOOL CheckAlphabetChinese(const char * str); //------------------------------------------------------------------------------ // 函数名: NoCharmap // 功 能: 判断用户输入字符是否符合要求 // 参 数: [str] - 要判断的字符 // 说 明:如果str只由字母、数字、下划线组成,返回true ,否则返回false //------------------------------------------------------------------------------ BOOL NoCharmap(const char * str); //------------------------------------------------------------------------------ // 函数名: DiffTime // 功 能: 求两个CString类型时间差 // 参 数: time1 要求的时间,time2 当前约定时间 // 说 明:返回时间差值 Sum ,不满足条件返回0 //------------------------------------------------------------------------------ CString DiffTime(CString time1,CString time2);

16,466

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧