C++ STL库里有很多与字符串操作相关的函数,熟练应用STL,字符串的处理将变得轻松、自在。

字符串截取函数:

1CString Left( int nCount ) const;    //从左边1开始获取前 nCount 个字符

2CString Mid( int nFirst ) const;    //从左边第 nCount+1 个字符开始,获取后面所有的字符

3CString Mid( int nFirst, int nCount )
const;
   //从左边第 nFirst+1 个字符开始,获取后面  nCount 个字符

4CString Right( int nCount ) const;    //从右边1开始获取从右向左前 nCount 个字符

注:在函数后面加 const 的意思是:如果一个类声明了一个常量对象,这个对象只能使用后边带 const 这个的方法.

例:

 CString a,b;

 a = "123456789";

 b = a.Left(4);   //值为:1234

 b = a.Mid(3);    //值为:456789

 b = a.Mid(2, 4); //值为:3456

 b = a.Right(4);  //值为:6789

字符串小写转大写函数:

1void
MakeUpper();
   //这个函数可以将CString字符转化为一个大写的字符串。

例:

  // example for CString::MakeUpper

  CString s( "abc" );

  s.MakeUpper();

  ASSERT( s == "ABC" );

字符串查找函数:

1find()

查找第一次出现的目标字符串:

/*

* Author:  mybestwishes

* Created Time:  2011/4/9 15:56:44

* File Name: find.cpp

*/

#include
<iostream>

#include <cstdio>

using namespace std;



int main(){

     string s1 = "abcdef" ; 

     string s2 = "de" ;

     int ans = s1.find(s2) ; //在s1中查找子串s2

     cout<<ans<<endl;

     system("pause");

}

说明:如果查找成功则输出查找到的第一个位置,否则返回-1 ;

查找从指定位置开始的第一次出现的目标字符串:

/*

* Author:  mybestwishes

* Created Time:  2011/4/9 15:56:44

* File Name: find.cpp

*/

#include
<iostream>

#include <cstdio>

using namespace std;



int main(){

     string s1 = "adedef" ; 

     string s2 = "de" ;

     int ans = s1.find(s2,2) ; //从s1的第二个字符开始查找子串s2

     cout<<ans<<endl;

     system("pause");

}

2find_first_of()

查找子串中的某个字符最先出现的位置。find_first_of()不是全匹配,而find()是全匹配

/*

* Author:  mybestwishes

* Created Time:  2011/4/9 15:56:44

* File Name: find.cpp

*/

#include
<iostream>

#include <cstdio>

using namespace std;



int main(){

     string s1 = "adedef" ; 

     string s2 = "dek" ;

     int ans = s1.find_first_of(s2) ; //从s1的第二个字符开始查找子串s2

     cout<<ans<<endl;

     system("pause");

}

其中find_first_of()也可以约定初始查找的位置:
 s1.find_first_of(s2 , 2) ;

3find_last_of()

这个函数与find_first_of()功能差不多,只不过find_first_of()是从字符串的前面往后面搜索,而find_last_of()是从字符串的后面往前面搜索。可以自行测试一下。

4rfind()

反向查找字符串,即找到最后一个与子串匹配的位置。

5find_first_not_of()

找到第一个不与子串的位置。

参考:http://mawenhao19930620.blog.163.com/blog/static/12857536120113935636277/

   http://blog.sina.com.cn/s/blog_9d4b5dd601013k9e.html#commonComment

C++函数CString类常用函数的更多相关文章

  1. CString转换成int CString类相应函数

    CString 型转化成 int 型 把 CString 类型的数据转化成整数类型最简单的方法就是使用标准的字符串到整数转换例程. 虽然通常你怀疑使用_atoi()函数是一个好的选择,它也很少会是一个 ...

  2. C++string类常用函数

    C++string类常用函数 string类的构造函数:string(const char *s);    //用c字符串s初始化string(int n,char c);     //用n个字符c初 ...

  3. php部分---函数、四类常用函数、例子(下拉菜单添加内容);

    1.简单函数 四要素:返回类型,函数名,参数列表,函数体 function Show() { echo "hello"; } Show(); 2.有返回值的函数 function ...

  4. String 类的实现(3)String类常用函数

      2 #include<iostream> 3 #include<stdio.h> 4 #include<assert.h> 5 #include <iom ...

  5. mysql九大类常用函数

    一.数学函数 ABS(x) 返回x的绝对值BIN(x) 返回x的二进制(OCT返回八进制,HEX返回十六进制)CEILING(x) 返回大于x的最小整数值EXP(x) 返回值e(自然对数的底)的x次方 ...

  6. java 中java.util.Arrays类---常用函数记录

    java.util.Arrays主要是用来对数组进行操作的类,主要包括以下方法: 1.数组转化列表,得到固定大小的列表,Arrays.asList(...): public static <T& ...

  7. String 类 常用函数

    构造方法摘要: String(byte[] bytes)           通过使用平台的默认字符集解码指定的 byte 数组,构造一个新的 String. String(char[] value) ...

  8. 新手C#string类常用函数的学习2018.08.04

    ToLower()用于将字符串变为小写,注意字符串的不可变特性,需要重新赋值给另一个字符串变量. s = s.ToLower();//字符串具有不可变性,转换后需要重新赋值,不可仅有s.ToLower ...

  9. C++调用全局函数与类成员函数

    void testfunc(void *param) { printf("\n\tcall global function %s\n", param); } void *GetCl ...

随机推荐

  1. xcode 工具学习笔记

    1. 快速打开辅助界面   快捷键:使用Option + 单击文件   2. 辅助编辑器更多打开方式   快捷键: Option+shift +单击文件   3. tab页面快捷键   快捷键: Co ...

  2. Android动态加载学习笔记(一)

    前言 上周五DPAndroid小分队就第二阶段分享内容进行了讨论,结果形成了三个主题:性能优化.动态加载.内核远离.我选择的是第二项——动态加载.在目前的Android开发中,这一部分知识还是比较流行 ...

  3. 50个令人惊奇的jQuery插件(对话框和表单篇)及免费的响应式bootstrap管理员后台界面主题 - Charisma

    http://www.woiweb.net/50-amazing-jquery-plugins.html 多文件文件下载 免费的响应式bootstrap管理员后台界面主题 – Charisma htt ...

  4. Oracle 常见函数

    1.把数字转换为字符串:To_char(数字) 2.Oracle 拼接字符串: || ':' || select  字段1 || ':' || 字段2 from  table  :字段1:字段2 3. ...

  5. guava – Optional

    过多的使用null可能会导致大量的bugs,Google code 底层代码中,95%的集合类默认不接受null值.对null值,使用快速失败拒绝null比默认接受更好. 另外,null本身的含义很模 ...

  6. c++学习--面向对象一实验

    实验内容 一 建立类cylinder,cylinder的构造函数被传递了两个double值,分别表示圆柱体的半径和高度.用类cylinder计算圆柱体的体积,并存储在一个double变量中.在类cyl ...

  7. wordpress stratus模板使用 产品显示问题

    产品不显示,只显示展示产品代码. 1.研究原站demo,思考产品展示调用自woocommerce. 2.查看woocommerce文档,更新展示代码. 3.修改后产品出现,但是多余的关联推荐也展示出来 ...

  8. Caused by: java.lang.NoSuchMethodError: javax.persistence.spi.PersistenceUnitInfo.getValidationMode

    进行 spring mvc jpa整合时.Junit方法测试时. 异常: org.springframework.beans.factory.BeanCreationException: Error ...

  9. android 非activity如何得到布局文件 (java文件中获取布局文件)

    Android中得到布局文件对象有两种方式第一种,在Activity所在类中this.getLayoutInflater().inflater(R.layout.布局文件名,null);第二种,在非A ...

  10. Android IOS WebRTC 音视频开发总结(八十一)-- WebRTC靠谱吗?有没有适合的SDK推荐?

    作者:blaker,最早发表在我们的微信公众和[编风网],详见[这里] 支持原创,转载必须注明出处,欢迎关注我的微信公众号blacker(微信ID:blackerteam 或 webrtcorgcn) ...