CPPstring类常用函数
c语言string()的用法

C语言string()的用法1.简介在C语言中,字符串是一系列字符的集合,常用的字符串操作包括拷贝、连接、长度计算等。
C语言提供了一系列的库函数来方便地操作字符串,其中`s tr in g()`函数是一个重要的函数之一。
本文将详细介绍`s tr in g()`函数的用法及示例。
2.函数概述`s tr in g()`函数用于对字符串进行各种操作,包括拷贝、连接、比较等。
其函数原型如下:#i nc lu de<s tr in g.h>c h ar*s tr in g(ch ar*d es t,co ns tc ha r*s r c);其中,`de st`表示目标字符串的指针,`s rc`表示源字符串的指针。
该函数将源字符串中的内容复制到目标字符串中,并返回目标字符串的指针。
3.示例下面通过几个示例来演示`s tr in g()`函数的使用方法。
3.1字符串拷贝字符串拷贝是`s tr in g()`函数最常用的功能之一。
示例代码如下:#i nc lu de<s td io.h>#i nc lu de<s tr in g.h>i n tm ai n(){c h ar so ur ce[]="Hel l o,Wo rl d!";c h ar de st in at io n[20];//使用st r i ng()函数进行字符串拷贝s t ri ng(d es ti na tio n,s ou rc e);p r in tf("拷贝后的字符串:%s\n",de st i na ti on);r e tu rn0;}输出结果为:拷贝后的字符串:He l lo,W or ld!3.2字符串连接`s tr in g()`函数还可以用于字符串的连接。
示例代码如下:#i nc lu de<s td io.h>#i nc lu de<s tr in g.h>i n tm ai n(){c h ar st r1[50]="Hel l o";c h ar st r2[]="Wo rld!";//使用st ri ng()函数进行字符串连接s t ri ng(s tr1,st r1);s t ri ng(s tr1,st r2);p r in tf("连接后的字符串:%s\n",st r1);r e tu rn0;}输出结果为:连接后的字符串:He l lo Wo rl d!3.3字符串比较`s tr in g()`函数还可以用于字符串的比较操作。
c++ string类的常用方法

c++ string类的常用方法一、C++ string类的常用方法1、string类的构造函数string() // 构造空串string(const char* s) // 把null结尾的字符串s拷贝到字符串中string(const string& str) // 拷贝构造函数,复制str到此串string(char c, int n) // 用n个字符c构造串string(const char* s, int n) // 拷贝字符数组中前n个字符2、string类的成员函数2.1 长度控制函数int size() const; // 返回字符串的长度int length() const; // 返回字符串的长度,等价于size()void resize(int n, char c); // 改变字符串长度,如果n 大于原来的长度,用字符c来填充2.2 内容操作函数string& operator=(const char* s); // 赋值,把s的内容复制到字符串中string& assign(const char* s); // 赋值,把s的内容复制到字符串中string& append(const char* s); // 把字符串s添加到串尾string& append(const char* s, int n); // 把s前n个字符添加到串尾string& insert(int p0, const char* s); // 在p0位置上插入字符串sstring& erase(int p0, int n); // 删除p0开始,n个字符int find(const char* s, int pos=0); // 在pos之后查找子串s,返回子串s在原串中的起始位置int find(char c, int pos=0); // 从pos开始查找字符c,返回字符c在原串中的位置int rfind(const char* substr,int pos=npos); // 从pos开始向前查找子串substr,返回子串substr在原串中的起始位置int rfind(char c, int pos=npos); // 从pos开始向前查找字符c,返回字符c在原串中的位置string substr(int pos, int n); // 返回串pos 位置开始,长度为n的子串2.3 字符串比较函数int compare(const char* s); // 比较原串和sint compare(int p0, int n, const char* s); // 比较串中p0开始,n个字符的子串和s2.4 数据访问函数char& operator[](int i); // 返回串中第i个字符的引用const char& operator[](int i) const; // 返回串中第i个字符的引用const char* c_str() const; // 返回字符串以null结尾的字符串2.5 输入输出函数ostream& operator<<(ostream& os, const string& str); // 输出字符串istream& operator>>(istream& is, string& str); // 输入字符串。
CPPstring类常用函数

C++string类常用函数string类的构造函数:string(const char *s); //用c字符串s初始化string(int n,char c); //用n个字符c初始化此外,string类还支持默认构造函数和复制构造函数,如string s1;string s2="hello";都是正确的写法。
当构造的string太长而无法表达时会抛出length_error异常string类的字符操作:const char &operator[](int n)const;const char &at(int n)const;char &operator[](int n);char &at(int n);operator[]和at()均返回当前字符串中第n个字符的位置,但at函数提供范围检查,当越界时会抛出out_of_range异常,下标运算符[]不提供检查访问。
const char *data()const;//返回一个非null终止的c字符数组const char *c_str()const;//返回一个以null终止的c字符串int copy(char *s, int n, int pos = 0) const;//把当前串中以pos开始的n个字符拷贝到以s为起始位置的字符数组中,返回实际拷贝的数目string的特性描述:int capacity()const; //返回当前容量(即string中不必增加内存即可存放的元素个数)int max_size()const; //返回string对象中可存放的最大字符串的长度int size()const; //返回当前字符串的大小int length()const; //返回当前字符串的长度bool empty()const; //当前字符串是否为空void resize(int len,char c);//把字符串当前大小置为len,并用字符c填充不足的部分string类的输入输出操作:string类重载运算符operator>>用于输入,同样重载运算符operator<<用于输出操作。
C++相关的string函数(memcpy、memove、strtok、strchr、st。。。

C++相关的string函数(memcpy、memove、strtok、strchr、st。
⼀、memcpy和memovevoid* memove(void*destin , void* source, size_t count) {//进⾏这样的判断是为了解决拷贝重叠的情况if (destin > source) {//这⾥拷贝的时候还可以提⾼效率//因为CPU单次可以拷贝的最⼤字节是8个//所以完全可以⽤long* 替代 char*(前提是count>8)char* a = (char*)destin;char* b = (char*)source;while (count--) {*b++ = *a++;}}else{char* a = (char*)destin + count;char* b = (char*)source + count;while (count--) {*b-- = *a--;}}return destin;}memove⼆、strtok参考博客三、strchr描述C 库函数 char *strchr(const char *str, int c) 在参数 str 所指向的字符串中搜索第⼀次出现字符 c(⼀个⽆符号字符)的位置。
声明下⾯是 strchr() 函数的声明。
char *strchr(const char *str, int c)参数str -- 要被检索的 C 字符串。
c -- 在 str 中要搜索的字符。
返回值该函数返回在字符串 str 中第⼀次出现字符 c 的位置,如果未找到该字符则返回 NULL。
实例四、strlcpy 原型: size_t strlcpy(char *dst, const char *src, size_t size); 功能:C语⾔标准库函数strlcpy,是更加安全版本的strcpy函数,在已知⽬的地址空间⼤⼩的情况下,把从src地址开始且含有'\0'结束符的字符串复制到以dest开始的地址空间, 并不会造成缓冲区溢出。
c语言string函数

c语言string函数
标准 C 语言的string.h头文件中定义了一组有用的函数,被称为字符串处理函数。
字符串就是由字母,数字和符号组成的一行字符序列,通常以字符串结尾显示。
它是一种数据抽象,是用来存储,分析,表示和处理应用程序中的文本数据的一种常见方式。
1.strlen()函数:该函数用来计算字符串的长度,不包括字符串结尾的null字符
'\0'。
该函数所返回的字符数不包括null字符,而只代表字符串中实际的字符数。
2.strcat()函数:该函数的作用是将字符串s2拼接到字符串s1的末尾。
这意味着s1的末尾会出现字符串s2的第一个字符,直到结束符'\0'。
4.strcmp()函数:该函数用于比较两个字符串s1和s2,如果s1>s2,函数会返回正值;如果s1=s2,函数会返回0;如果s1
5.strchr()函数:该函数用于在字符串s1中查找给定字符c。
如果成功,函数会返回指向找到字符的指针;否则,函数会返回NULL。
7.strtok()函数:该函数用于将字符串分割成一系列子字符串,每个子字符串以一个或多个指定的分隔符分隔。
以上就是标准C语言的string.h头文件中的一些常用的字符串处理函数,这些函数主要用于对字符串的操作,如切割,拼接,比较等。
由于 C 语言的数据结构比较简单,因此这个头文件函数的功能也是非常强大的,可以满足各种字符串处理的需求。
c中string函数库常用函数

c中string函数库常用函数C语言中的string函数库是一个非常重要的函数库,它包含了许多常用的字符串处理函数。
这些函数可以帮助我们更加方便地处理字符串,提高我们的编程效率。
在本文中,我们将介绍一些常用的string函数库函数。
1. strlen函数strlen函数用于计算字符串的长度,它的原型如下:size_t strlen(const char *s);其中,s是要计算长度的字符串。
该函数返回字符串s的长度,不包括字符串末尾的空字符。
2. strcpy函数strcpy函数用于将一个字符串复制到另一个字符串中,它的原型如下:char *strcpy(char *dest, const char *src);其中,dest是目标字符串,src是源字符串。
该函数将源字符串src 复制到目标字符串dest中,并返回目标字符串dest的指针。
3. strcat函数strcat函数用于将一个字符串连接到另一个字符串的末尾,它的原型如下:char *strcat(char *dest, const char *src);其中,dest是目标字符串,src是要连接的字符串。
该函数将源字符串src连接到目标字符串dest的末尾,并返回目标字符串dest的指针。
4. strcmp函数strcmp函数用于比较两个字符串是否相等,它的原型如下:int strcmp(const char *s1, const char *s2);其中,s1和s2是要比较的两个字符串。
该函数返回一个整数值,如果s1和s2相等,则返回0;如果s1小于s2,则返回一个负数;如果s1大于s2,则返回一个正数。
5. strchr函数strchr函数用于在一个字符串中查找一个字符,它的原型如下:char *strchr(const char *s, int c);其中,s是要查找的字符串,c是要查找的字符。
该函数返回一个指向第一个匹配字符的指针,如果没有找到匹配字符,则返回NULL。
c++ string类的常用方法

c++ string类的常用方法x1、string类的构造函数string类的构造函数有三种:(1)默认构造函数:string();(2)以字符串常量指针为参数的构造函数:string (const char *s);(3)以字符串对象为参数的构造函数:string (const string &str);2、string类的赋值操作string类的赋值操作有以下几种:(1)以字符串常量指针为参数的赋值运算符重载:string & operator = (const char *s);(2)以字符串对象为参数的赋值运算符重载:string & operator = (const string &str);(3)拼接函数:string &append (const string &str);(4)两个字符串的拼接:string + string;3、string类的比较操作string类的比较操作有如下几种:(1)比较两个字符串是否相等的比较操作符:string==string;(2)比较两个字符串是否不等的比较操作符:string!=string;(3)比较两个字符串大小的比较操作符:string>string;4、string类的查找操作string类的查找操作有以下几种:(1)查找从某个位置开始某个子串的位置的函数:size_tfind(const string &str,size_t pos = 0);(2)查找从某个位置开始某个字符的位置的函数:size_tfind(char c,size_t pos = 0);(3)查找从右向左某个子串的位置的函数:size_t rfind(const string &str,size_t pos = string::npos);(4)查找从右向左某个字符的位置的函数:size_t rfind(char c,size_t pos = string::npos);5、string类的修改操作string类的修改操作有以下几种:(1)插入字符串的函数:string &insert (size_t pos, const string &str);(2)替换某个子串的函数:string &replace (size_t pos, size_t len, const string &str);(3)删除某个子串的函数:string &erase (size_t pos = 0, size_t len = npos);(4)在字符串前面补充某字符的函数:string &insert (size_t pos, size_t n, char c);(5)清除字符串的函数:void clear();6、string类的截取操作string类的截取操作有以下几种:(1)从某个位置截取字符串的函数:string substr (size_t pos = 0, size_t n = npos);(2)将字符串按照一定的字符分割成多个小字符串的函数:vector<string> split(char c);(3)删除收尾处的某字符的函数:string &trim(char c);。
string类的函数

string类的函数
1. append() - 在字符串末尾添加另一个字符串或字符。
2. substr() - 返回指定位置和长度的子字符串。
3. replace() - 替换字符串中的字符或子字符串。
4. find() - 查找特定字符或子字符串在字符串中的位置。
5. erase() - 删除指定位置和长度的子字符串。
6. size() - 获取字符串的长度。
7. at() - 获取指定位置的字符。
9. c_str() - 将字符串转换为C风格字符串。
10. empty() - 检查字符串是否为空。
11. resize() - 调整字符串的大小。
12. substr() - 获取指定位置之后的所有字符。
13. reverse() - 反转字符串中的字符顺序。
14. push_back() - 在字符串末尾添加一个字符。
15. front() - 获取字符串的第一个字符。
16. back() - 获取字符串的最后一个字符。
17. insert() - 在指定位置插入字符或子字符串。
18. find_first_of() - 查找字符串中第一次出现的特定字符。
19. find_last_of() - 查找字符串中最后一次出现的特定字符。
20. substr() - 获取指定位置和长度的子字符串。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C++string类常用函数string类的构造函数:string(const char *s); //用c字符串s初始化string(int n,char c); //用n个字符c初始化此外,string类还支持默认构造函数和复制构造函数,如string s1;string s2="hello";都是正确的写法。
当构造的string太长而无法表达时会抛出length_error异常string类的字符操作:const char &operator[](int n)const;const char &at(int n)const;char &operator[](int n);char &at(int n);operator[]和at()均返回当前字符串中第n个字符的位置,但at函数提供范围检查,当越界时会抛出out_of_range异常,下标运算符[]不提供检查访问。
const char *data()const;//返回一个非null终止的c字符数组const char *c_str()const;//返回一个以null终止的c字符串int copy(char *s, int n, int pos = 0) const;//把当前串中以pos开始的n个字符拷贝到以s为起始位置的字符数组中,返回实际拷贝的数目string的特性描述:int capacity()const; //返回当前容量(即string中不必增加内存即可存放的元素个数)int max_size()const; //返回string对象中可存放的最大字符串的长度int size()const; //返回当前字符串的大小int length()const; //返回当前字符串的长度bool empty()const; //当前字符串是否为空void resize(int len,char c);//把字符串当前大小置为len,并用字符c填充不足的部分string类的输入输出操作:string类重载运算符operator>>用于输入,同样重载运算符operator<<用于输出操作。
函数getline(istream &in,string &s);用于从输入流in中读取字符串到s中,以换行符'\n'分开。
string的赋值:string &operator=(const string &s);//把字符串s赋给当前字符串string &assign(const char *s);//用c类型字符串s赋值string &assign(const char *s,int n);//用c字符串s开始的n个字符赋值string &assign(const string &s);//把字符串s赋给当前字符串string &assign(int n,char c);//用n个字符c赋值给当前字符串string &assign(const string &s,int start,int n);//把字符串s中从start开始的n个字符赋给当前字符串string &assign(const_iterator first,const_itertor last);//把first和last迭代器之间的部分赋给字符串string的连接:string &operator+=(const string &s);//把字符串s连接到当前字符串的结尾string &append(const char *s); //把c类型字符串s连接到当前字符串结尾string &append(const char *s,int n);//把c类型字符串s的前n个字符连接到当前字符串结尾string &append(const string &s); //同operator+=()string &append(const string &s,int pos,int n);//把字符串s中从pos开始的n个字符连接到当前字符串的结尾string &append(int n,char c); //在当前字符串结尾添加n个字符cstring &append(const_iterator first,const_iterator last);//把迭代器first和last之间的部分连接到当前字符串的结尾string的比较:bool operator==(const string &s1,const string &s2)const;//比较两个字符串是否相等运算符">","<",">=","<=","!="均被重载用于字符串的比较;int compare(const string &s) const;//比较当前字符串和s的大小int compare(int pos, int n,const string &s)const;//比较当前字符串从pos开始的n个字符组成的字符串与s的大小int compare(int pos, int n,const string &s,int pos2,int n2)const;//比较当前字符串从pos开始的n个字符组成的字符串与s中pos2开始的n2个字符组成的字符串的大小int compare(const char *s) const;int compare(int pos, int n,const char *s) const;int compare(int pos, int n,const char *s, int pos2) const;compare函数在>时返回1,<时返回-1,==时返回0string的子串:string substr(int pos = 0,int n = npos) const;//返回pos开始的n个字符组成的字符串string的交换:void swap(string &s2); //交换当前字符串与s2的值string类的查找函数:int find(char c, int pos = 0) const;//从pos开始查找字符c在当前字符串的位置int find(const char *s, int pos = 0) const;//从pos开始查找字符串s在当前串中的位置int find(const char *s, int pos, int n) const;//从pos开始查找字符串s中前n个字符在当前串中的位置int find(const string &s, int pos = 0) const;//从pos开始查找字符串s在当前串中的位置//查找成功时返回所在位置,失败返回string::npos的值int rfind(char c, int pos = npos) const;//从pos开始从后向前查找字符c在当前串中的位置int rfind(const char *s, int pos = npos) const;int rfind(const char *s, int pos, int n = npos) const;int rfind(const string &s,int pos = npos) const;//从pos开始从后向前查找字符串s中前n个字符组成的字符串在当前串中的位置,成功返回所在位置,失败时返回string::npos的值int find_first_of(char c, int pos = 0) const;//从pos开始查找字符c第一次出现的位置int find_first_of(const char *s, int pos = 0) const;int find_first_of(const char *s, int pos, int n) const;int find_first_of(const string &s,int pos = 0) const;//从pos开始查找当前串中第一个在s的前n个字符组成的数组里的字符的位置。
查找失败返回string::nposint find_first_not_of(char c, int pos = 0) const;int find_first_not_of(const char *s, int pos = 0) const;int find_first_not_of(const char *s, int pos,int n) const;int find_first_not_of(const string &s,int pos = 0) const;//从当前串中查找第一个不在串s中的字符出现的位置,失败返回string::nposint find_last_of(char c, int pos = npos) const;int find_last_of(const char *s, int pos = npos) const;int find_last_of(const char *s, int pos, int n = npos) const;int find_last_of(const string &s,int pos = npos) const;int find_last_not_of(char c, int pos = npos) const;int find_last_not_of(const char *s, int pos = npos) const;int find_last_not_of(const char *s, int pos, int n) const;int find_last_not_of(const string &s,int pos = npos) const;//find_last_of和find_last_not_of与find_first_of和find_first_not_of相似,只不过是从后向前查找string类的替换函数:string &replace(int p0, int n0,const char *s);//删除从p0开始的n0个字符,然后在p0处插入串sstring &replace(int p0, int n0,const char *s, int n);//删除p0开始的n0个字符,然后在p0处插入字符串s的前n个字符string &replace(int p0, int n0,const string &s);//删除从p0开始的n0个字符,然后在p0处插入串sstring &replace(int p0, int n0,const string &s, int pos, int n);//删除p0开始的n0个字符,然后在p0处插入串s中从pos开始的n个字符string &replace(int p0, int n0,int n, char c);//删除p0开始的n0个字符,然后在p0处插入n个字符cstring &replace(iterator first0, iterator last0,const char *s);//把[first0,last0)之间的部分替换为字符串sstring &replace(iterator first0, iterator last0,const char *s, int n);//把[first0,last0)之间的部分替换为s的前n个字符string &replace(iterator first0, iterator last0,const string &s);//把[first0,last0)之间的部分替换为串sstring &replace(iterator first0, iterator last0,int n, char c);//把[first0,last0)之间的部分替换为n个字符cstring &replace(iterator first0, iterator last0,const_iterator first, const_iterator last);//把[first0,last0)之间的部分替换成[first,last)之间的字符串string类的插入函数:string &insert(int p0, const char *s);string &insert(int p0, const char *s, int n);string &insert(int p0,const string &s);string &insert(int p0,const string &s, int pos, int n);//前4个函数在p0位置插入字符串s中pos开始的前n个字符string &insert(int p0, int n, char c);//此函数在p0处插入n个字符citerator insert(iterator it, char c);//在it处插入字符c,返回插入后迭代器的位置void insert(iterator it, const_iterator first, const_iterator last);//在it处插入[first,last)之间的字符void insert(iterator it, int n, char c);//在it处插入n个字符cstring类的删除函数iterator erase(iterator first, iterator last);//删除[first,last)之间的所有字符,返回删除后迭代器的位置iterator erase(iterator it);//删除it指向的字符,返回删除后迭代器的位置string &erase(int pos = 0, int n = npos);//删除pos开始的n个字符,返回修改后的字符串string类的迭代器处理:string类提供了向前和向后遍历的迭代器iterator,迭代器提供了访问各个字符的语法,类似于指针操作,迭代器不检查范围。