(转)CString截取字符串全攻略

源地址 http://blog.163.com/seraph_leo/blog/static/1689297102010786206361/?fromdm&fromSearch&isFromSearchEngine=yes

例程1:(csdn)

文件xxxx.dll去掉后面的.dll 
方法1、 
char str[] = "xxxx.dll" 
char*p; 
p=strrchr(str, ‘.‘); 
*p = 0;

方法2、 
CString str="xxxx.dll"; 
int n = str.ReverseFind(‘.‘) 
str = str.Left(str.GetLength()-n-1);

例程2:(csdn)

取得一个字符串中第一个 ‘?‘号之前的字符 
方法1 
CString m_char,m_disp; 
m_disp="jadfueiuajdf?"; 
m_char="?"; 
if (!m_char.IsEmpty()) 

int index = m_disp.Find(m_char); 
m_disp = m_disp.Right(m_disp.GetLength()-index-1); 

返回m_disp就行

方法2 
CString temp=the.m_bb; 
CString reslut=temp.Left(temp.Find("?")-1);

例程3:(csdn) 
一个CString类对象m_StrReceiveModem={ATS0=2 OK $03#} 
如何截取从$开始的字符串 
方法1

CString m_StrReceiveModem; 
int nPos = m_StrReceiveModem.Find(‘$‘); 
if(nPos >= 0) 

CString sSubStr = m_StrReceiveModem.Mid(nPos);//包含$,不想包含时nPos+1 
}

方法2 
CString m_StrReceiveModem; 
int nPos = m_StrReceiveModem.Find(‘$‘); 
if(nPos >= 0) 

CString sSubStr = m_StrReceiveModem.Right(StrReceiveModem.GetLength()-nPos); 

}

//截取“$”到“#”的字符串

int first,last;

first= m_StrReceiveModem.Find("$");

last= m_StrReceiveModem.Find("#");

CString sSubStr = m_StrReceiveModem.Mid(first,last);

例程4: (fox)

//根据路径解析出文件名

CString m_Filepath = "E:\\fox_work\\vc_experiment\\hello.txt"

int nPos = m_Filepath.Find(‘\\‘);
 CString sSubStr = m_Filepath;
  while (nPos)
  {
   sSubStr = sSubStr.Mid(nPos+1,sSubStr.GetLength()-nPos);  //取‘\‘右边字符串
   nPos = sSubStr.Find(‘\\‘);   //不包含‘\‘,函数值返回-1

if (nPos==-1)    
         {
             nPos = 0;
          }
  }

//最后sSubStr = "hello.txt"

CString::Find()函数

2010-11-17 12:05:04|  分类: MFC |  标签: |字号大中小 订阅

注:CString::Find函数,如果给定的参数是一个字符串,那么它必须与此字符串中的某一个子字符串完全匹配才能返回相匹配的子字符串第一个字符的索引。

CString::Find

作用

  在一个较大的字符串中查找字符或子字符串   int Find( TCHAR ch ) const;   int Find( LPCTSTR lpszSub ) const;   int Find( TCHAR ch, int nStart ) const;   int Find( LPCTSTR lpszSub, int nStart ) const;

返回值

  返回此CString对象中与需要的子字符串或字符匹配的第一个字符的从零开始的索引;如果没有找到子字符串或字符则返回-1。

参数

  ch 要搜索的单个字符。   lpszSub 要搜索的子字符串。   nStart 字符串中开始搜索的字符的索引,如果是0,则是从头开始搜索。如果nStart不是0,则位于nStart处的字符不包括在搜索之内。  pstr 指向要搜索的字符串的指针

说明

  此成员函数用来在此字符串中搜索子字符串的第一个匹配的字符。函数的重载可以接收单个字符(类似于运行时函数strchr)和字符串(类似于strstr)。

  //下面演示第一个例子

  // CString::Find( TCHAR ch )   CString s( "abcdef" );   int n = s.Find( ‘c‘ ); // 结果 n = 2   int f = s.Find( "de" ) ; // 结果 f = 3   ASSERT( n == 2 );   ASSERT( f == 3 );   // 下面演示第二个例子   // CString::Find(TCHAR ch,int nStart)   CString str("The stars are aligned");   int n = str.Find(‘e‘,5); //结果 n = 12   ASSERT(n == 12)

时间: 2024-10-17 05:49:28

(转)CString截取字符串全攻略的相关文章

字符串全攻略

C++字符串完全指引之二 —— 字符串封装类 原著:Michael Dunn 作者: Chengjie Sun 原文出处: CodeProject:The Complete Guide to C++ Strings, Part II 引言 因为C语言风格的字符串容易出错且不易管理,黑客们甚至利用可能存在的缓冲区溢出bug把C语言风格的字符串作为攻击目标,所以出现了很多字符串封装类.不幸的是,在某些场合下我们不知道该使用哪个字符串类,也不知道怎样把一个C风格的字符串转换成一个字符串封装类. 这篇文

活水渠 - 云影院之云时代看片全攻略

本文讨论了大数据时代最热门的两大应用之一的云计算(另一应用是物联网)对网络视频观看体验的具体影响,以及在观看方式上区别于传统下载方式的优点. 一.视频门户类网站 此类网站以优酷.乐视等为代表,主营传统网络视频业务,使用浏览器进行直接点击链接进行观看. 优点:电视节目丰富.观看技术手段简单.大型网站服务器稳定 缺点:看不了热门电影,精华视频要收费,免费用户要看广告 解决:浏览器辅助工具或插件解决收费和广告问题,在此基础上还诞生了视频门户网 站的入口集成网站,每天看云帆可免VIP直接观看主流视频门户

Angularjs中UI Router全攻略

摘自:Angularjs中UI Router全攻略 温馨提示:想要了解 angular-ui-router的同学,从上往下读一遍,能带随着coding那就更好了,保证你对angular-ui-router基本全部掌握. 如何引用依赖angular-ui-router angular.module('app',["ui.router"]) .config(function($stateProvider){ $stateProvider.state(stateName, stateCofi

Python中文全攻略

Python中文全攻略[转] 这几天一直纠结月python的中文编码问题,发现一篇不错的文章,转过来留个念想. 原文链接:http://blog.csdn.net/mayflowers/archive/2007/04/18/1568852.aspx 1.        在Python中使用中文 在Python中有两种默认的字符串:str和unicode.在Python中一定要注意区分“Unicode字符串”和“unicode对象”的区别.后面所有的“unicode字符串”指的都是python里的

页面数据绑定全攻略

在做Web开发时,都会遇到将后台的数据显示在前台页面的情况.几种比较典型的应用实例: 方法1:<%#%> 后台代码: namespace WebApplication3{    public partial class Index : System.Web.UI.Page    {        public string name = "ltp";        public string sex = "man";        public stri

Moon.Orm3.8技术全攻略

Moon.ORM技术全攻略  一.绪论 本文主要是针对Moon.ORM的技术的讨论及其使用使用指导.如有其它疑问,请留言.本文主要针对Moon.ORM3.9版本,同时将会对4.0做一个技术预览.本文从实际出发解析Moon.ORM.(技术群:21696534)  二.Moon.ORM的特色及优势 ----但凡众多的智慧都是及其简单的,但不为人所知.这也是Moon.ORM的主要特色:大道至简. 1.高性能是Moon.ORM优势之一,也是我架构它的主要目的之一,如以前我说的那样,是为了弥补项目中遇到的

[037] 微信公众帐号开发教程第13篇-图文消息全攻略

引言及内容概要 已经有几位读者抱怨“柳峰只用到文本消息作为示例,从来不提图文消息,都不知道图文消息该如何使用”,好吧,我错了,原本以为把基础API封装完.框架搭建好,再给出一个文本消息的使用示例,大家就能够照猫画虎的,或许是因为我的绘画功底太差,画出的那只猫本来就不像猫吧…… 本篇主要介绍微信公众帐号开发中图文消息的使用,以及图文消息的几种表现形式.标题取名为“图文消息全攻略”,这绝对不是标题党,是想借此机会把大家对图文消息相关的问题.疑虑.障碍全部清除掉. 图文消息的主要参数说明 通过微信官方

Perl Unicode全攻略

Perl Unicode全攻略 耐心看完本文,相信你今后在unicode处理上不会再有什么问题. 本文内容适用于perl 5.8及其以上版本. perl internal form 在Perl看来, 字符串只有两种形式. 一种是octets, 即8位序列, 也就是我们通常说的字节数组. 另一种utf8编码的字符串, perl管它叫string. 也就是说: Perl只认识两种编码: Ascii(octets)和utf8(string). utf8 flag 那么perl如何确定一个字符串是oct

VSCode插件开发全攻略(八)代码片段、设置、自定义欢迎页

更多文章请戳VSCode插件开发全攻略系列目录导航. 代码片段 代码片段,也叫snippets,相信大家都不陌生,就是输入一个很简单的单词然后一回车带出来很多代码.平时大家也可以直接在vscode中创建属于自己的snippets: 创建代码片段 那么如何在扩展中创建snippets呢? package.json文件新增如下: "contributes": { "snippets": [ { // 代码片段作用于那种语言 "language": &