String VS Cstring(字符串)
#include<string> 与 #include<string.h> 这是两个完全不同的头文件,前者用于C++,后者用于C,一般把这两个头文件都包括进去。 越来越觉得需要对 string 中的一些函数的使用进行一次总结了,这几天碰到了好多关于字符串处理的问题,下面介绍一下 string 中常用的函数;
一、string 类对象的初始化
string s("Hello !") ;
string s = "Hell0 !" ;
string s(10,'a') ; // 字符串 s 为 : aaaaaaaaaa 10个a
string s , s = 'a' ; //将字符 a 赋值给字符串 s ,相当于 s = "a"
二、string 中的 strlen 和 length 函数
string s1 ;
char s2[100] ;
strlen(s2) ; // 返回字符串 s2 的长度 ;
s1.length() ; //返回字符串 s1 的长度 ,相当于 strlen(s1.c_str()) ;
三、string 中的 find 、find_first_of、find_last_of、find_first_not_of、find_last_not_of 函数
string s("Hello World !") ;
s.find("o") ; // 返回的的 o 所在的下标 ;
s.find("o",5) ; // 从下标为 5 开始进行查找 ;
s.append(s , s.find("o") , 3) ; // 在字符串 s 后面追加 一个字符串("o W") ;
s.find_fist_of("abc") ; //返回字符串abc中任意一个字符最先出现的位置
s.find_last_of("abc") ; // 返回字符串abc中任意一个字符最后出现的位置
s.find_first_not_of("acd") ; //从字符串 s 中进行查找(从前往后),第一个不在字符串 acd 中的位置
s.find_last_not_of("acd") ; //从字符串 s 中进行查找(从后往前),第一个不在字符串 acd 中的位置
四、string 中的 erase 函数
string s("Hello World !") ;
s.erase(5) ; // 相当于保留当前长度为 5 ,也相当于s[5] = '\0' ;
五、string 中的 replace 函数
string s("Hello World !") ;
s.replace(2,3,"haha") ; // 从下标为 2 开始 ,将连续的三个字符替换成 字符串 haha ;
s.replace(2,3,"haha",1,2) ; 从下标为 2 开始 ,将连续的三个字符替换成 字符串 haha 中的 下标为 1 开始的 连续两个字符
六、string 中的 insert 、at 函数
string s("Hello World !") ;
s.insert(1 , s ) ; //在下标为 1 的后面再将 s 插入在其后
s.insert(1 , s , 1 , 3) ; // 在下标为 1 的后面将 s 的下标为 1 的连续 3 个字符 插入到 后面
s.at(1) ; // 返回下标为 1 所对应的元素,相当于s[1] ;
七、string 中的 c_str 函数
string s("Hello World !") ;
printf("%s\n",s.c_str()) ; //返回传统的 char * 类型的字符串,该字符串以 ‘\0’ 结尾 ;
八、字符数组 中的 strlen、strcat、strcmp 函数
strlen 返回字符数组的长度
strcat 连接两个字符数组
strcmp 比较两个字符数组
九、字符数组中的 strchr 、strstr 函数
char s[] = {"Hello World !"} ;
strchr(s , 'o') ; // 返回字符 o 在字符数组 s 中的位置指针
strstr(s,"ll") ; //返回字符串 ll 在字符数组 s 中的位置指针
String VS Cstring(字符串)的更多相关文章
- char*、string、CString各种字符串之间转换
参考博客: http://blog.csdn.net/luoweifu/article/details/20242307 http://blog.csdn.net/luoweifu/article/d ...
- C++ 中int,char,string,CString类型转换
1. c++中string到int的转换 1) 在C标准库里面,使用atoi: #include <cstdlib> #include <string> std::stri ...
- 头文件 string.h cstring string 区别
1.#include <cstring> //不可以定义string s:可以用到strcpy等函数using namespace std; #include <stri ...
- C++ 中 int,char*,string,CString之间相互转换-整理
<多字符集下> #include <string> //使用C++标准库的string类时, 定义时 std::string str; using namespace std; ...
- MFC中char*,string和CString之间的转换
MFC中char*,string和CString之间的转换 一. 将CString类转换成char*(LPSTR)类型 方法一,使用强制转换.例如: CString theString( &q ...
- Cpp读文件、CString转String、String转CString
场景 C++读取文件 技术点 读取文件 fstream提供了三个类,用来实现c++对文件的操作.(文件的创建.读.写). ifstream -- 从已有的文件读入 ofstream -- 向文件写内容 ...
- string与CString对比
string是标准C++库中的字符串类,CString是在Windows开发环境下常用的字符串类,CString目前已从MFC中分离出来可以单独使用,只需包含atlstr.h即可. 相比string, ...
- string string.h cstring 区别
c++中 string与string.h 的作用和区别 #include <string.h> void main() { string aaa= "a ...
- C++中string和char字符串的异同与使用方法
C++中string和char声明字符串的异同和使用 string类 必须在头文件中包含<string> 隐藏了字符串的数组性质,可以像处理普通变量那样处理字符串 string类位于名称空 ...
随机推荐
- C语言入门(14)——结构体
整数.字符.布尔值.浮点数这些数据类型都具有单一的值,这些可称为基本数据类型.但字符串是一个例外,它由很多字符组成,像这种由基本类型组成的数据类型称为复合数据类型,正如表达式和语句有组合规则一样,由基 ...
- LDA的一些资料
LDA-math-汇总 LDA数学八卦 http://www.52nlp.cn/lda-math-%E6%B1%87%E6%80%BB-lda%E6%95%B0%E5%AD%A6%E5%85%AB%E ...
- uva 301 Transportation 铁路公司的阳谋 纯dfs暴力
题目比较难理解. 给出铁路的容量和站点数,以及几笔订单,要求算出如何盈利最大. 咋一看想贪心,但无法确定是最优解啊. 于是用dfs做,就两种状况,选与不选,先开一个每个站点的当前人数数组,假设要选,然 ...
- JavaScript引用类型之Array数组的concat()和push()方法的区别
在javascript中,我们一般都只用push向数组的尾部插入新元素的,但是其实在javascript中还有另外一个方法和push一样,也是向数组尾部插入新元素的,但是他们之间却存在着一定的区别,当 ...
- Float类型在SQL中计算
- Jar包下载地址
Download Apache log4j 1.2.17下载: http://logging.apache.org/log4j/1.2/download.html jsoup http://jsoup ...
- ASP.NET MVC 必备知识点杂谈
一 工程结构4个程序集 Microsoft.Web.Mvc --一些可以使用的,不确定的程序包System.Web.Mvc --主程序库下面两个列入3.5的Net框架了System.Web.Abs ...
- OO真经——关于面向对象的哲学体系及科学体系的探讨(下)
真经第六章——运作 Moving “运动是绝对的——牛顿” 6.1.导言 在前五章中,我们从世界观的这话题开始,逐步引出了抽象.层次.继承和耦合.这些内容,形成了对象论中关于世界的结构体系. ...
- 正整数从1到N,输出按照字典序排序的前K个数
#include <iostream> #include <cassert> using namespace std; ; char a[max_len]; void topK ...
- 【转载】谈谈Cookie
0×00 引言 在Web技术的发展史上,Cookie技术的出现是一次重大的 变革.但是, Cookie技术又是一项非常有争议的技术,从它诞生之日起就成了广大网络用户和Web开发人员的一个争论焦点,原因 ...