(转)CString截取字符串全攻略
附:去掉空格方法
CString str("e w r we 中华ADF 华AG中");
newstr=str.Replace(" ", "");//第一个参数是空格,第二个参数是空字符串。
int i_find=str.Find(newstr.Left(1));
双字节:
CString str(L"e w r we 中华ADF 华AG中");
str.Remove(L' '); //str = L"ewrwe中华ADF华AG中"
我已经在EVC下测试通过,没有错误.
例程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函数,如果给定的参数是一个字符串,那么它必须与此字符串中的某一个子字符串完全匹配才能返回相匹配的子字符串第一个字符的索引。
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)
(转)CString截取字符串全攻略的更多相关文章
- C++字符串【string】和【char []】操作全攻略
异想之旅:本人博客完全手敲,绝对非搬运,全网不可能有重复:本人无团队,仅为技术爱好者进行分享,所有内容不牵扯广告.本人所有文章发布平台为CSDN.博客园.简书和开源中国,后期可能会有个人博客,除此之外 ...
- VSCode插件开发全攻略(五)跳转到定义、自动补全、悬停提示
更多文章请戳VSCode插件开发全攻略系列目录导航. 跳转到定义 跳转到定义其实很简单,通过vscode.languages.registerDefinitionProvider注册一个provide ...
- Moon.Orm3.8技术全攻略
Moon.ORM技术全攻略 一.绪论 本文主要是针对Moon.ORM的技术的讨论及其使用使用指导.如有其它疑问,请留言.本文主要针对Moon.ORM3.9版本,同时将会对4.0做一个技术预览.本文从 ...
- 用C#制作PDF文件全攻略
用C#制作PDF文件全攻略 目 录 前 言... 3 第一部分 iText的简单应用... 4 第一章 创建一个Document 4 第一步 创建一个Document实例:... 5 第二步 ...
- 【转】Perl Unicode全攻略
Perl Unicode全攻略 耐心看完本文,相信你今后在unicode处理上不会再有什么问题. 本文内容适用于perl 5.8及其以上版本. perl internal form 在Perl看来, ...
- Android使用XML全攻略(2)
Android使用XML全攻略(2) Android 是针对移动设备的一种新兴的开源操作系统和 SDK.借助它,您可以创建功能强大的移动应用程序.当您的应用程序可以访问 Web 服务时,其吸引力会 ...
- QTP DataTable全攻略(1)
上一篇 / 下一篇 2009-07-27 00:14:16 / 个人分类:qtp 查看( 575 ) / 评论( 0 ) / 评分( 0 / 0 ) 下面的代码可能有点乱,基本涉及到常用的datat ...
- VSCode插件开发全攻略(八)代码片段、设置、自定义欢迎页
更多文章请戳VSCode插件开发全攻略系列目录导航. 代码片段 代码片段,也叫snippets,相信大家都不陌生,就是输入一个很简单的单词然后一回车带出来很多代码.平时大家也可以直接在vscode中创 ...
- VSCode插件开发全攻略(七)WebView
更多文章请戳VSCode插件开发全攻略系列目录导航. 什么是Webview 大家都知道,整个VSCode编辑器就是一张大的网页,其实,我们还可以在Visual Studio Code中创建完全自定义的 ...
随机推荐
- [LeetCode] Remove Nth Node From End of List 移除链表倒数第N个节点
Given a linked list, remove the nth node from the end of list and return its head. For example, Give ...
- IDEA 中生成 Hibernate 逆向工程实践
谈起 Hibernate 应该得知道 Gavin King 大叔,他构建了 Hibernate ,并将其捐献给了开源社区. Hibernate 对象关系映射解决方案,为面向对象的领域模型到传统的关系型 ...
- 微信支付(.NET版)
前段时间做了网页版微信支付,遇到很多问题,不过最终还是解决了,现在在这里记录下开发流程以及说明,给其他人一些参考. 一.准备工作 首先肯定得先要开通微信支付功能,之前开通微信支付需要三万的押金 ...
- Suspend to RAM和Suspend to Idle分析,以及在HiKey上性能对比
Linux内核suspend状态 Linux内核支持多种类型的睡眠状态,通过设置不同的模块进入低功耗模式来达到省电功能.目前存在四种模式:suspend to idle.power-on standb ...
- html种种
DIV+CSS如何让文字垂直居中?--https://zhidao.baidu.com/question/69214815.html
- console的花式用法
1.百度的招聘启示 如图: 下面是输出代码: if(window.console){ var cons = console; if(cons){ cons.log("%c\n ", ...
- 修改.net mvc中前端验证信息的显示方式
最近一直在学习.net core的用法.想法是通过写一个新闻系统来熟悉一下这个最新的技术.其实,我以前一直对.net技术都是浅尝辄止,最主要原因是没有动力.平时写企业站因为时间原因,不是使用php的框 ...
- java 中正则表达式匹配
String str = "#a#,#b#"; String reg="\\#+[^\\#]+\\#+"; Pattern p=Pattern.compile( ...
- UVA1586
#include<stdio.h> #include<string.h> #include<ctype.h> int main(){ int n; ]; int n ...
- 02. Let & Const
Let & Const let 基础用法 很简单就能说明这个问题 if(false) { var a = 'heihei' } a = undefined if(true) { var a = ...