AfxExtractSubString

Advertisement

VC下的Split函数熟悉VB代码的朋友应该都极度喜欢Split函数,因为实在太方便了,自动帮你把字符串按照要求拆分,一直以为VC++没有相关的函数,今天重写看了一下VC++相关文章,发现一个没有在VC++文档公布的函数AfxExtractSubString,基本上与Split有异曲同工之效,就是不明白微软为什么把他隐藏起来了。。。 BOOL AfxExtractSubString(CString& rString, LPCTSTR lpszFullString,int iSubString, TCHAR chSep = '/n') 参数说明: rString 得到的字符串;lpszFullString 待分割的字符串;iSubString 要得到第几个字符串;chSep 个子串之间的分隔符,默认是回车; 返回值为Flase表示iSubString 越界,否则分隔成功 例如,有一个字符串strFullString = "abcd-hgdy-weiuiwu-sdlsk";则有: CString strTmp; AfxExtractSubString( strTmp, (LPCTSTR)strFullString, 0, '-');//strTmp的内容为abcd AfxExtractSubString( strTmp, (LPCTSTR)strFullString, 2, '-');//strTmp的内容为weiuiwu 感觉蛮好用的,但是有两个限制: 1.仅仅能在MFC下使用的函数 2.分隔只能使用字符,不能使用字符串。

Similar Posts:

  • VC用字符串截取字符串的函数(比AfxExtractSubString更好)

    AfxExtractSubString是截取字符串的函数,很好用,不过美中不足的地方在与它只能使用单个字符作为分割符. 但是这种情况在很多时候都行不通,如果分割符需要是两个字符以上呢? 之前因为这个问题试了很久,也在网上搜索过.不过可惜的是,网上的大部分关于VC截取字符串的文章都是那么同样的几篇,都是写的满复杂然后可以实现了AfxExtractSubString功能而已的,也就是只能用单个字符截取,但是标题却写着用字符串截取字符串,好笑! 不找了,自己写吧.CString里面有Find,然后再组

  • 用AfxExtractSubString()解析复合串 【转】

    MFC有几个未公开的函数很有用,AfxExtractSubString()就是其中之一.你在MSDN文档里是找不到关于这个函数的说明的,但是你如果研究过MSDN里的例子程序的话,就会发现很多代码中都使用了这个函数.它的功能简单说来就是从某个用NULL或者换行符"/n"分割的字符串中吸取子串.这个函数非常很有用,用它可以从串表资源中的子串,还可以从Windows控件(如标准的"File Open"对话框)中解析出特定的字符串,如多选文件名等.在MFC的AppWizar

  • MFC项目开发方法和技巧总结

    在过去的两个月中,我和老师一起开发了一个编辑编译器,主要是参见省"挑战杯"比赛,当时我只有两个星期的MFC经验,很多地方都不会做,到处找代码,看文章,十分辛苦.还在网上资源还比较丰富,非常感谢 csdn pudn 两个网站.在此我把我学习和总结的MFC经验分享给大家,一共参考学习. 首先还是谈一下看技巧和方法这类文章的感受: 1.学习MFC一定要有点基础,要入门.你这少要到图书馆去看过.浏览过一两本书籍,我学习是看的孙鑫的视频,到图书馆看了本<Windows编程>很基础的书

  • ReadString和WriteString

    CStdioFile SFile; CString csReadString; CString csBrowseFileName = OpenDialog(); //打开文件对话框,选择打开的文件 if(csBrowseFileName == "") return; else SFile.Open(csBrowseFileName, CFile::modeRead); while(SFile.ReadString(csReadString)) //ReadString每次读取一行 {

  • 时间差值的运算 VARIANT的使用

    //调用 CString str0="2015:11:05:23:12:21.003"; CString str1="2015,11,05,23,26,27,313"; double result= GetDuration(str0,str1); str1.Format("%lf",result); AfxMessageBox(str1); //函数原型 double GetDuration(CString str0,CString str1)

  • 获得“我的电脑”“桌面”“网上邻居”和其他各类文件的图标

    ExtractIconEx("Explorer.exe", 3, NULL, &hIcon, 1); //获得桌面图标 ExtractIconEx("Explorer.exe", 0, NULL, &hIcon, 1); //获得我的电脑图标 ExtractIconEx("Explorer.exe", 1, NULL, &hIcon, 1); //获得文件搜索图标 ExtractIconEx("Explorer.

  • 在VC中处理符号分隔的字符串

    程序中经常会遇到要处理用某些符号(如空格,或", ; . | t"等)分隔的字符串的问题,我在此做了一些总结和比较. 二.处理方法 1. 用MFC CString之Find处理字符串 // 以下方法将一个字符串分解后放到一个CStringArray中: void ExtractString(CStringArray& arr, const CString strSrc, const CString sep = "rn" ) { // 预处理: 可根据需要决定

  • MFC工具条和状态栏,内部实现原理详细分析

    MFC工具条和状态栏 Windows控制窗口 Windows (Windows95或者以上版本) 提供了系列通用控制窗口,其中包括工具条(ToolBar).状态栏(StatusBar).工具条提示窗口(ToolTip). Windows在一个DLL加载时注册个控制窗口的"窗口类".例如,工具条的"窗口类"是"ToolbarWindow32",状态栏的"窗口类"是"msctls_statusbar32",工具

  • MFC中CEdit控件实现多行,并且可在界面进行修改

    首先给定CEdit控件一个ID,并且分配CString 类型的变量m_str与vector<CString> 类型的变量m_vector,并且定义一个button按钮,点击button按钮为CEdit控件选择路径.定义临时变量m_str1,m_str1 = dlg.getfilename , m_vector.pushback(m_str) :m_str += m_str1+ "rn".对CEdit控件添加OnEnChangeEdit函数,代码为 UdateData(TRU

  • MFC内部运行来龙去脉追踪

    最近因为阅读一个程序的源代码,用到了MFC,所以搜索了MFC编程相关的文章,无意中看到了这篇文章,转载过来,仅作为记录,为表示对原作者尊重,看到这篇文章的读者建议到原载地址阅读(http://www.cnblogs.com/witxjp/archive/2010/04/21/1717564.html).相关的内容可以阅读孙鑫的<VC++深入详解>第三章,以及这篇文章:http://www.jizhuomi.com/software/145.html.以下为原文: 本文转载自:http://ww

Tags: