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. centos 安装 python2.7 运行webpy 项目

    1.服务器是centos5,在virtualbox里装的.网络选择桥接,ip与主机在一个网段类.主机ip为xxx.xxx.xxx.69,服务器ip定义为xxx.xxx.xxx.66,GATEWAY与N ...

  2. RealTimePerformanceDemoView

    using System;using System.Diagnostics;using System.Timers;using System.Windows;using System.Windows. ...

  3. 剑指Offer:面试题29——数组中出现次数超过一半的数字(java实现)

    PS:在前几天的面试中,被问到了这个题.然而当时只能用最低效的方法来解. 问题描述: 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字.例如输入一个长度为9的数组{1,2,3,2,2,2, ...

  4. 异步编程,采用WorkgroupWorker,async和await关键字

    金科玉律:不要在UI线程上执行耗时的操作:不要在除了UI线程之外的其他线程上访问UI控件! NET1.1的BeginInvoke异步调用,需要准备3个方法:功能方法GetWebsiteLength,结 ...

  5. java写入excel文件poi

    java写入excel文件 java写入excel文件poi,支持xlsx与xls,没有文件自动创建 package com.utils; import java.io.File; import ja ...

  6. neutron floatingip-delete

  7. 解决sublime3 package control显示There are no packages available for installation

    之前一直是在windows上使用sublime,由于公司内部搭建了服务器,干脆把所有项目搬到了服务器上,自然也装上了牛逼闪闪的sublime,然而在接下来安装插件的时候却出了问题,package co ...

  8. 正确理解ThreadLocal

    想必很多朋友对 ThreadLocal并不陌生,今天我们就来一起探讨下ThreadLocal的使用方法和实现原理.首先,本文先谈一下对ThreadLocal的理 解,然后根据ThreadLocal类的 ...

  9. SQL Server 自定义聚合函数

    说明:本文依据网络转载整理而成,因为时间关系,其中原理暂时并未深入研究,只是整理备份留个记录而已. 目标:在SQL Server中自定义聚合函数,在Group BY语句中 ,不是单纯的SUM和MAX等 ...

  10. Python面试题

    1.Python装饰器 详情 2.设置多个Python项目使用不同版本的Python和第三方库 使用PyEnv 详情 3.PEP8 详情 4.参数传递 按引用传递 5.列表解析,字典解析 详情 6.列 ...