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

字符串截取函数:

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

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

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

4、CString 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

字符串小写转大写函数:

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

例:

  // example for CString::MakeUpper

  CString s( "abc" );

  s.MakeUpper();

  ASSERT( s == "ABC" );

字符串查找函数:

1、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 = "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");

}

2、find_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) ;

3、find_last_of()

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

4、rfind()

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

5、find_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. <工作一周的心情总结>

    到公司一个星期有余,明天就要周六了,蛮开心的,兴奋的今天下午没看一点代码,哈哈~ 我做的算是代码界里最简单,最好玩,最有成就感的html,web网页的编程. 截止到目前,除了看不懂的JavaScrip ...

  2. EA使用

    类逻辑图 关系1:泛化(继承),Driver和Northeastermer继承了Person类 关系2:实现,Northeastermer实现了LivingLeiFeng类 关系3:  关联,两个对象 ...

  3. C++ 快排

    // 进行一轮快排并返回当前的中间数 int getMiddle( int* arr, int low, int high ) { auto swaparr = [&]( int i, int ...

  4. HttpContextBase转换成HttpContext对象

    有以下方法: 主要是方式就是通过context获取HttpApplication,然后通过Application获取相应的HttpContext ①HttpContext context=HttpCo ...

  5. GCC的gcc和g++区别

    看的Linux公社的一篇文章,觉得不错,内容复制过来了. 其实在这之前,我一直以为gcc和g++是一个东西,只是有两个不同的名字而已,今天在linux下编译一个c代码时出现了错误才找了一下gcc和g+ ...

  6. 数据库使用--MySQL: InnoDB 还是 MyISAM?

    MyISAM存储引擎 MyISAM是 默认存储引擎.它基于更老的ISAM代码,但有很多有用的扩展.MyISAM存储引擎的一些特征: ·      所有数据值先存储低字节.这使得数据机和操作系统分离.二 ...

  7. ios 设置声音和震动,单独控制

    一.今天项目中涉及了设置这快的声音震动和响铃,搞的头大,以前搞过,只是简单的调用系统的方法就可以实现,但是现在的公司要求,震动是震动,响铃是响铃,我看了微信,微信也是的分开的,做的很好,但是我就纳闷了 ...

  8. django 项目的文件说明

    参见官方教程的mysite项目 mysite--- manage.py db.sqlite3 #数据库文件 mysite--- #项目文件夹 __init__.py settings.py urls. ...

  9. 嵌套 QQ、微博 通讯工具到HTML中

    自己QQ.微博的实例: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Defa ...

  10. bzoj1051 [HAOI2006]受欢迎的牛

    1051: [HAOI2006]受欢迎的牛 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 4773  Solved: 2541[Submit][Sta ...