String类的常用函数
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); // 输入字符串。
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。
常见的字符串函数及其用法
常见的字符串函数及其用法常见的字符串函数及其用法如下:1. strlen():计算字符串的长度(不包括结束符'\0')。
用法示例:c#include <stdio.h>#include <string.h>int main() {char arr[] = "abcdef";int ret = strlen(arr);printf("%d ", ret); // 输出6return 0;}2. strcpy():复制字符串。
将源字符串复制到目标字符串中,包括结束符'\0'。
用法示例:c#include <stdio.h>#include <string.h>int main() {char dest[20] = "destination";char src[] = "source";strcpy(dest, src);printf("%s\n", dest); // 输出"source"return 0;}3. strcat():连接字符串。
将源字符串附加到目标字符串的末尾,包括结束符'\0'。
用法示例:c#include <stdio.h>#include <string.h>int main() {char dest[20] = "destination";char src[] = "source";strcat(dest, src);printf("%s\n", dest); // 输出"destinationsource"return 0;}4. strcmp():比较字符串。
字符串string长度的函数
字符串string长度的函数在大多数编程语言中,字符串string长度可以通过使用内置函数来计算。
以下是一些常见编程语言中计算字符串长度的函数:1. Python:在Python中,可以使用len()函数来获取字符串的长度。
例如,以下代码将打印字符串“hello”的长度:```str = "hello"print(len(str))```输出结果为:```5```2. Java:在Java中,可以使用String类的length()方法来计算字符串的长度。
例如,以下代码将打印字符串“hello”的长度:```String str = "hello";System.out.println(str.length());```输出结果为:```5```3. JavaScript:在JavaScript中,可以使用字符串对象的length属性来计算字符串的长度。
例如,以下代码将打印字符串“hello”的长度:```var str = "hello";console.log(str.length);```输出结果为:```5```4. C++:在C++中,可以使用字符串类的size()方法来计算字符串的长度。
例如,以下代码将打印字符串“hello”的长度:```#include <iostream>#include <string>int main(){std::string str = "hello";std::cout << str.size() << std::endl;return 0;}```输出结果为:```5```5. C#:在C#中,可以使用字符串类的Length属性来计算字符串的长度。
例如,以下代码将打印字符串“hello”的长度:```string str = "hello";Console.WriteLine(str.Length);```输出结果为:```5```。
string常用的函数及功能
string常用的函数及功能一、常用字符串函数1、字符串拼接:strcat函数原型:char *strcat(char *dest,const char *src)功能:将src所指字符串复制到dest所指字符串的结尾处(覆盖dest结尾处的’0’)2、字符串比较:strcmp函数原型:int strcmp(const char *str1,const char *str2)功能:比较两个字符串,按字典顺序比较,相等返回0,str1>str2返回正数,str1<str2返回负数3、字符串拷贝:strcpy函数原型:char *strcpy(char *dest,const char *src)功能:将src所指内容复制到dest所指的数组中4、字符位置查找:strchr函数原型:char *strchr(const char *str,int c)功能:在参数str所指向的字符串中搜索第一次出现字符c(一个无符号字符)的位置5、字符串长度:strlen函数原型:size_t strlen(const char *str)功能:求取参数str所指向的字符串的长度,不包括字符串结束符'0'二、字符串常用功能1、字符串查找替换:strreplace函数原型:char *strreplace(char *str, char *find, char *replace)功能:在参数str所指向的字符串中,用参数replace替换参数find所指出的字符串2、字符串分割:strtok函数原型:char *strtok(char *str,const char *delim)功能:将字符串str分割成一个个片段,delim为分割字符串,返回指向被分割出的片段3、字符串去除两端空格:strtrim函数原型:char *strtrim(char *str)功能:去除字符串str两端的所有空格4、字符串中字符个数统计:strcount函数原型:int strcount(char *str,char c)功能:计算字符串str中字符c的个数。
string类的函数
string类的函数1. length(:返回字符串的长度。
示例:string str = "Hello World!";int len = str.length(;2. size(:返回字符串的大小,与length(功能相同。
示例:string str = "Hello World!";int size = str.size(;3. empty(:判断字符串是否为空,返回true或false。
示例:string str = "";bool empty = str.empty(;4. clear(:清空字符串,将其长度设置为0。
示例:string str = "Hello World!";str.clear(;5. at(index):返回指定位置的字符,使用索引访问字符串。
示例:string str = "Hello World!";char ch = str.at(0);6. append(str):将字符串str追加到当前字符串的末尾。
示例:string str = "Hello ";str.append("World!");7. insert(index, str):将字符串str插入到指定位置的前面。
示例:string str = "Hello!";str.insert(5, " World");8. erase(index, count):删除从指定位置开始的指定数量的字符。
示例:string str = "Hello World!";str.erase(6, 6);9. replace(index, count, str):用str替换从指定位置开始的指定数量的字符。
示例:string str = "Hello World!";str.replace(6, 5, "C++");10. substr(start, length):返回从指定位置开始的指定长度的子字符串。
C++-string常用函数整理(建议收藏)
C++-string常用函数整理(建议收藏)作者:翟天保Steven版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处最近刷笔试题,涉及到许多字符串相关的题目,所以将一些常用的函数整理一下,便于后面查看。
本文后续持续更新。
构造函数:1.string s; // 声明一个s字符串,为空2.string s(ss); // 声明一个s字符串,将ss字符串复制过来3.string s(ss,2); // 声明一个s字符串,将ss字符串从2位置(也就是第三个字符)后的所有字符复制过来4.string s(ss,1,3); // 声明一个s字符串,将ss字符串从1位置(也就是第二个字符)起的3个字符复制过来5.string s(chars); // 声明一个s字符串,将C字符串复制过来6.string s(chars,5); // 声明一个s字符串,将C字符串的前5个字符复制过来7.string s(6,char); // 声明一个s字符串,初值为6个char类型的字符,比如char为'a',则s为aaaaaa析构函数:1.s.~string(); // 将s字符串析构赋值函数:1.string s=c; // 赋值函数,c既可以是字符串,也可以是C字符串,比如char a[]=“123”2.s.assign(ss); // 赋值函数,ss既可以是字符串,也可以是C字符串3.s.assign(ss,1,3); // 赋值函数,ss无论是string字符串还是C字符串,均从1位置开始的3个字符赋值4.s.assign(ss,1); // 赋值函数,ss若为string字符串,则从1位置开始的所有字符赋值;若ss为C字符串,则赋值前1个字符5.s.assign(6,char); //赋值函数,赋为6个char类型的字符6.s.assign(s1.begin(),s1.end()-1); //赋值函数,将s1字符串从开始到倒数第二个字符赋值给s,string有begin和end,C字符串没有哦操作函数:1.swap(s1,s2); // 交换两个字符串2.s.size(); // 返回字符串字符个数3.s.length(); // 返回字符串字符个数4.s.clear(); // 清除所有字符5.s.empty(); // 返回字符串是否为空,若空则true,非空则false6.s.begin(); // 字符串迭代器-开始位置7.s.rbegin(); // 字符串迭代器-逆向开始位置,逆向开始是跳过结束符的第一个字符8.s.end(); // 字符串迭代器-结束位置,注意结束一般是'\0'9.s.rend(); // 字符串迭代器-逆向结束位置10.s.capacity(); // 返回已分配存储的大小11.s.resize(n); // 把字符串的长度设置为n个字符,若s字符串原本为1234,n为2,则resize后的s字符为1212.s.max_size(); // 返回字符串的最大大小13.s.capacity(); // 保留一定量内存以容纳一定数量的字符14.s.at(5); // 输出s字符串5位置的字符(第六个字符)15.getline(cin,s); // 获取一行字符串给s16.s.copy(cs,3,2); // 将s字符串第二个字符后的三个字符,复制到C字符串cs的前三个字符的位置,原字符被替换掉,cs只能是C字符串17.s.c_str(); // 将内容以C_string返回18.s.data(); // 将内容以字符数组形式返回,和c_str()输出基本一致,区别在于data()结尾不补\0,毕竟是数组形式添加函数:1.s+=s1; // 添加函数,直接添加字符串至后方,s1可以是string字符串也可以是C字符串2.s.append(ss); // 添加函数,将ss添加到后方3.s.append(ss,1,3); // 添加函数,ss无论是string字符串还是C 字符串,均将从1位置开始的3个字符添加4.s.append(ss,1); // 添加函数,ss若为string字符串,则将从1位置开始的所有字符添加;若ss为C字符串,则添加前1个字符5.s.append(6,char); //添加函数,添加6个char类型的字符6.s.append(s1.begin(),s1.end()-1); //添加函数,将s1字符串从开始到倒数第二个字符添加到s后面,string有begin和end,C字符串没有哦插入函数:1.s.insert(2,ss); // 插入函数,在s字符串的第二个字符后插入ss2.s.insert(2,ss,4); // 插入函数,若ss为string字符串,则在s字符串的第二个字符后插入ss的前四个字符;若ss为C字符串,则在s 字符串的第二个字符后插入ss第四个字符后的所有字符3.s.insert(2,ss,4,2); // 插入函数,s字符串的第二个字符后插入ss 第四个字符后的2个字符4.s.insert(2,6,char); //插入函数,s字符串的第二个字符后6个char类型的字符5.s.insert(s.begin()+3,'A'); // 插入函数,通过迭代器在s字符串第三个字符后添加1个A字符6.s.insert(s.begin()+3,6,'A'); // 插入函数,通过迭代器在s字符串第三个字符后添加6个A字符7.s.insert(s.begin()+3,ss.begin(),ss.end()); // 插入函数,通过迭代器在s字符串第三个字符后添加ss字符串从开始到结尾的所有字符删除函数:1.s.erase(s.begin()+3); // 删除函数,删除字符串第3个字符后的第一个字符,也就是第四个字符2.s.erase(s.begin(),s.begin()+3); // 删除函数,删除字符串第1到第3的所有字符,虽然s.begin()+3指向从头起第四个字符,但是最后这个字符是不删除的3.s.erase(1,3); // 删除函数,删除字符串从1位置(第二个字符)起的3个字符提取函数:1.s=ss.substr(1,3); // 提取函数,提取ss字符串从1位置起的3个字符给s字符串2.s=ss.substr(); // 提取函数,提取ss字符串的所有内容给s字符串3.s=ss.substr(3); // 提取函数,提取ss字符串从3位置起的所有内容给s字符串查找函数:1.a=s.find('A',1); // 提取函数,a是string::size_type类型,从前面1位置开始查找,查找A字符最早出现的位置,若没找到,则返回string::npos2.a=s.find(ss,1); // 提取函数,从前面1位置开始查找,查找ss 字符串最早出现在s字符串的位置,若没找到,则返回string::npos3.a=s.find(cs,1); // 提取函数,从前面1位置开始查找,查找C字符串cs最早出现在s字符串的位置,若没找到,则返回string::npos4.a=s.find(cs,1,2); // 提取函数,从前面1位置开始查找,查找C 字符串cs中前两个字符最早出现在s字符串的位置,若没找到,则返回string::npos;注意string字符串没有该格式函数5.a=s.rfind('A'); // 提取函数,从后查找,查找A字符最先出现的位置,若没找到,则返回string::npos6.a=s.find_first_of(ss); // 提取函数,从前查找,ss字符串中任一字符出现在s字符串中的位置7.a=s.find_first_of(ss,3); // 提取函数,从第3个字符后查找(即第4个字符开始),ss字符串中任一字符最先出现在s字符串中的位置8.a=s.find_last_of(ss); // 提取函数,从前查找,ss字符串中任一字符最后一次出现在s字符串中的位置;换句话说,从后查找,最先出现的位置9.a=s.find_last_of(ss,3); // 提取函数,从后面第3个字符后查找(即第4个字符开始),ss字符串中任一字符最先出现在s字符串中的位置;换句话说,在s后面第3个字符位置前的字符串中,ss任一字符最后一次出现在此字符串中的位置10.a=s.find_first_not_of(ss); // 提取函数,从前查找,任一非ss 字符串中字符最早出现在s字符串中的位置11.a=s.find_first_not_of(ss,3); // 提取函数,从第3个字符后查找(即第4个字符开始),任一非ss字符串中字符最先出现在s字符串中的位置12.a=s.find_last_not_of(ss); // 提取函数,从前查找,任一非ss 字符串中字符最后一次出现在s字符串中的位置;换句话说,从后查找,最先出现的位置13.a=s.find_last_not_of(ss,3); // 提取函数,从后面第3个字符后查找(即第4个字符开始),任一非ss字符串中字符最先出现在s 字符串中的位置;换句话说,在s后面第3个字符位置前的字符串中,任一非ss字符串中字符最后一次出现在此字符串中的位置哈哈哈,后面这几个find函数是不是看晕了,沉下心来理解一下我说的逻辑,然后自己写个测试代码试试就懂了,编程一定不要背,而是去体会和理解,这样才能活学活用~比较函数:pare(ss); // 比较函数,直接比较s和ss的字符串大小,从第一个字符开始比,若一样则下一个;若s大于ss则返回1,等于返回0,小于返回-1pare(2,2,ss); // 比较函数,用s字符串第二个字符后的两个字符作为子字符串,来和ss比较pare(2,2,ss,1,3); // 比较函数,用s字符串第二个字符后的两个字符作为子字符串,来和ss第一个字符后三个字符组成的子字符串比较替换函数:1.s.replace(1,2,ss); // 替换函数,将s字符串第一个字符后的两个字符替换为ss字符串2.s.replace(s.begin(),s.begin()+3,ss); // 替换函数,将s字符串从头起的三个字符替换为ss字符串3.s.replace(1,2,ss,2,3); // 替换函数,将s字符串第一个字符后的两个字符替换为ss字符串第二个字符后的三个字符4.s.replace(1,2,ss,2); // 替换函数,将s字符串第一个字符后的两个字符被替换,若ss为string字符串,则进行替换的字符串为ss字符串第二个字符后的所有字符;若ss为C字符串,则进行替换的字符串为ss字符串的前两个字符5.s.replace(s.begin(),s.begin()+3,ss,2); // 替换函数,将s字符串从头起的三个字符替换为C字符串ss的前两个字符,注意ss字符串只能是C字符串而不是string字符串6.s.replace(0,3,5,'A’); //替换函数,将s字符串从头起的三个字符替换为5个A字符7.s.replace(s.begin(),s.begin()+3,5,'A’); //替换函数,将s字符串从头起的三个字符替换为5个A字符总结:细心的朋友应该发现了,在string函数的调用过程中,输入参数个数、类型不同可能会带来不同的结果,而string字符串和C字符串(也就是char*)大多数情况下的调用情况一致,比如输入2个数字的时候,第一个数字往往代表了字符操作的起点位置,第二个数字代表了操作的字符个数;但是,如果只输入1个数字X的时候,就有所不同,若字符串是string,则表示从该数字X对应位置往后的所有字符进行操作,若字符串是C字符串,则表示取前X个字符进行操作。
string函数
函数名: stpcpy功能: 拷贝一个字符串到另一个用法: char *stpcpy(char *destin, char *source);程序例:#include <stdio.h>#include <string.h>int main(void){char string[10];char *str1 = "abcdefghi";stpcpy(string, str1);printf("%s\n", string);return 0;}函数名: strcat功能: 字符串拼接函数用法: char *strcat(char *destin, char *source);程序例:#include <string.h>#include <stdio.h>int main(void){char destination[25];char *blank = " ", *c = "C++", *Borland = "Borland";strcpy(destination, Borland);strcat(destination, blank);strcat(destination, c);printf("%s\n", destination);return 0;}函数名: strchr功能: 在一个串中查找给定字符的第一个匹配之处\用法: char *strchr(char *str, char c);程序例:#include <string.h>#include <stdio.h>int main(void){char string[15];char *ptr, c = 'r';strcpy(string, "This is a string");ptr = strchr(string, c);if (ptr)printf("The character %c is at position: %d\n", c, ptr-string);elseprintf("The character was not found\n");return 0;}函数名: strcmp功能: 串比较用法: int strcmp(char *str1, char *str2);看Asic码,str1>str2,返回值> 0;两串相等,返回0程序例:#include <string.h>#include <stdio.h>int main(void){char *buf1 = "aaa", *buf2 = "bbb", *buf3 = "ccc";int ptr;ptr = strcmp(buf2, buf1);if (ptr > 0)printf("buffer 2 is greater than buffer 1\n");elseprintf("buffer 2 is less than buffer 1\n");ptr = strcmp(buf2, buf3);if (ptr > 0)printf("buffer 2 is greater than buffer 3\n");elseprintf("buffer 2 is less than buffer 3\n");return 0;}函数名: strncmpi功能: 将一个串中的一部分与另一个串比较, 不管大小写用法: int strncmpi(char *str1, char *str2, unsigned maxlen); 程序例:#include <string.h>#include <stdio.h>int main(void){char *buf1 = "BBB", *buf2 = "bbb";int ptr;ptr = strcmpi(buf2, buf1);if (ptr > 0)printf("buffer 2 is greater than buffer 1\n");if (ptr < 0)printf("buffer 2 is less than buffer 1\n");if (ptr == 0)printf("buffer 2 equals buffer 1\n");return 0;}函数名: strcpy功能: 串拷贝用法: char *strcpy(char *str1, char *str2);程序例:#include <stdio.h>#include <string.h>int main(void){char string[10];char *str1 = "abcdefghi";strcpy(string, str1);printf("%s\n", string);return 0;}函数名: strcspn功能: 在串中查找第一个给定字符集内容的段用法: int strcspn(char *str1, char *str2);程序例:#include <stdio.h>#include <string.h>#include <alloc.h>int main(void){char *string1 = "1234567890";char *string2 = "747DC8";int length;length = strcspn(string1, string2);printf("Character where strings intersect is at position %d\n", length);return 0;}函数名: strdup功能: 将串拷贝到新建的位置处用法: char *strdup(char *str);程序例:#include <stdio.h>#include <string.h>#include <alloc.h>int main(void){char *dup_str, *string = "abcde";dup_str = strdup(string);printf("%s\n", dup_str);free(dup_str);return 0;}函数名: stricmp功能: 以大小写不敏感方式比较两个串用法: int stricmp(char *str1, char *str2);程序例:#include <string.h>#include <stdio.h>int main(void){char *buf1 = "BBB", *buf2 = "bbb";int ptr;ptr = stricmp(buf2, buf1);if (ptr > 0)printf("buffer 2 is greater than buffer 1\n");if (ptr < 0)printf("buffer 2 is less than buffer 1\n");if (ptr == 0)printf("buffer 2 equals buffer 1\n");return 0;}函数名: strerror功能: 返回指向错误信息字符串的指针用法: char *strerror(int errnum);程序例:#include <stdio.h>#include <errno.h>int main(void){char *buffer;buffer = strerror(errno);printf("Error: %s\n", buffer);return 0;}函数名: strcmpi功能: 将一个串与另一个比较, 不管大小写用法: int strcmpi(char *str1, char *str2);程序例:#include <string.h>#include <stdio.h>int main(void){char *buf1 = "BBB", *buf2 = "bbb";int ptr;ptr = strcmpi(buf2, buf1);if (ptr > 0)printf("buffer 2 is greater than buffer 1\n");if (ptr < 0)printf("buffer 2 is less than buffer 1\n");if (ptr == 0)printf("buffer 2 equals buffer 1\n");return 0;}函数名: strncmp功能: 串比较用法: int strncmp(char *str1, char *str2, int maxlen);程序例:#include <string.h>#include <stdio.h>int main(void){char *buf1 = "aaabbb", *buf2 = "bbbccc", *buf3 = "ccc";int ptr;ptr = strncmp(buf2,buf1,3);if (ptr > 0)printf("buffer 2 is greater than buffer 1\n");elseprintf("buffer 2 is less than buffer 1\n");ptr = strncmp(buf2,buf3,3);if (ptr > 0)printf("buffer 2 is greater than buffer 3\n");elseprintf("buffer 2 is less than buffer 3\n");return(0);}函数名: strncmpi功能: 把串中的一部分与另一串中的一部分比较, 不管大小写用法: int strncmpi(char *str1, char *str2);程序例:#include <string.h>#include <stdio.h>int main(void){char *buf1 = "BBBccc", *buf2 = "bbbccc";int ptr;ptr = strncmpi(buf2,buf1,3);if (ptr > 0)printf("buffer 2 is greater than buffer 1\n");if (ptr < 0)printf("buffer 2 is less than buffer 1\n");if (ptr == 0)printf("buffer 2 equals buffer 1\n");return 0;}函数名: strncpy功能: 串拷贝用法: char *strncpy(char *destin, char *source, int maxlen);程序例:#include <stdio.h>#include <string.h>int main(void){char string[10];char *str1 = "abcdefghi";strncpy(string, str1, 3);string[3] = '\0';printf("%s\n", string);return 0;}函数名: strnicmp功能: 不注重大小写地比较两个串用法: int strnicmp(char *str1, char *str2, unsigned maxlen); 程序例:#include <string.h>#include <stdio.h>int main(void){char *buf1 = "BBBccc", *buf2 = "bbbccc";int ptr;ptr = strnicmp(buf2, buf1, 3);if (ptr > 0)printf("buffer 2 is greater than buffer 1\n");if (ptr < 0)printf("buffer 2 is less than buffer 1\n");if (ptr == 0)printf("buffer 2 equals buffer 1\n");return 0;}函数名: strnset功能: 将一个串中的所有字符都设为指定字符用法: char *strnset(char *str, char ch, unsigned n);程序例:#include <stdio.h>#include <string.h>int main(void){char *string = "abcdefghijklmnopqrstuvwxyz";char letter = 'x';printf("string before strnset: %s\n", string);strnset(string, letter, 13);printf("string after strnset: %s\n", string);return 0;}函数名: strpbrk功能: 在串中查找给定字符集中的字符用法: char *strpbrk(char *str1, char *str2);程序例:#include <stdio.h>#include <string.h>int main(void){char *string1 = "abcdefghijklmnopqrstuvwxyz";char *string2 = "onm";char *ptr;ptr = strpbrk(string1, string2);if (ptr)printf("strpbrk found first character: %c\n", *ptr);elseprintf("strpbrk didn't find character in set\n");return 0;}功能: 在串中查找指定字符的最后一个出现用法: char *strrchr(char *str, char c);程序例:#include <string.h>#include <stdio.h>int main(void){char string[15];char *ptr, c = 'r';strcpy(string, "This is a string");ptr = strrchr(string, c);if (ptr)printf("The character %c is at position: %d\n", c, ptr-string);elseprintf("The character was not found\n");return 0;}函数名: strrev功能: 串倒转用法: char *strrev(char *str);程序例:#include <string.h>#include <stdio.h>int main(void){char *forward = "string";printf("Before strrev(): %s\n", forward);strrev(forward);printf("After strrev(): %s\n", forward);return 0;}功能: 将一个串中的所有字符都设为指定字符用法: char *strset(char *str, char c);程序例:#include <stdio.h>#include <string.h>int main(void){char string[10] = "123456789";char symbol = 'c';printf("Before strset(): %s\n", string);strset(string, symbol);printf("After strset(): %s\n", string);return 0;}函数名: strspn功能: 在串中查找指定字符集的子集的第一次出现用法: int strspn(char *str1, char *str2);程序例:#include <stdio.h>#include <string.h>#include <alloc.h>int main(void){char *string1 = "1234567890";char *string2 = "123DC8";int length;length = strspn(string1, string2);printf("Character where strings differ is at position %d\n", length);return 0;}功能: 在串中查找指定字符串的第一次出现用法: char *strstr(char *str1, char *str2);程序例:#include <stdio.h>#include <string.h>int main(void){char *str1 = "Borland International", *str2 = "nation", *ptr;ptr = strstr(str1, str2);printf("The substring is: %s\n", ptr);return 0;}函数名: strtod功能: 将字符串转换为double型值用法: double strtod(char *str, char **endptr);程序例:#include <stdio.h>#include <stdlib.h>int main(void){char input[80], *endptr;double value;printf("Enter a floating point number:");gets(input);value = strtod(input, &endptr);printf("The string is %s the number is %lf\n", input, value);return 0;}函数名: strtok功能: 查找由在第二个串中指定的分界符分隔开的单词用法: char *strtok(char *str1, char *str2);程序例:#include <string.h>#include <stdio.h>int main(void){char input[16] = "abc,d";char *p;p = strtok(input, ",");if (p) printf("%s\n", p);p = strtok(NULL, ",");if (p) printf("%s\n", p);return 0;}函数名: strtol功能: 将串转换为长整数用法: long strtol(char *str, char **endptr, int base); 程序例:#include <stdlib.h>#include <stdio.h>int main(void){char *string = "87654321", *endptr;long lnumber;lnumber = strtol(string, &endptr, 10);printf("string = %s long = %ld\n", string, lnumber);return 0;}函数名: strupr功能: 将串中的小写字母转换为大写字母用法: char *strupr(char *str);程序例:#include <stdio.h>#include <string.h>int main(void){char *string = "abcdefghijklmnopqrstuvwxyz", *ptr;ptr = strupr(string);printf("%s\n", ptr);return 0;}函数名: swab功能: 交换字节用法: void swab (char *from, char *to, int nbytes);程序例:#include <stdlib.h>#include <stdio.h>#include <string.h>char source[15] = "rFna koBlrna d";char target[15];int main(void){swab(source, target, strlen(source));printf("This is target: %s\n", target);return 0;函数名:strstr原型:extern char *strstr(char *haystack, char *needle);用法:#include <string.h>功能:从字符串haystack中寻找needle第一次出现的位置(不比较结束符NULL)。
string的各种函数(系统学习)
string的各种函数(系统学习)1、按照⾯向对象的要求,可以把字符串看作⼀个对象,设计⼀个串类加以描述。
但是,在⼀般的情况下不必建⽴⾃⼰的串类,c++标准在库<string>中给出了类string,提供了丰富的串操作,程序员使⽤指令: #include<string>即存取这个类。
可将类string视为⼀个容器类,其部分操作如下:构造函数:string s:构造⼀个空串sstring s(a):构造串s,并⽤字符数组a初始化string s(a,n):构造串s,⽤字符数组a的前n个字符初始化string s(str):⽤串str构造串s(拷贝初始化)看下⾯代码验证#include<iostream>#include<string.h>#include<map>#include<cstdio>#include<cstring>#include<stdio.h>#include<cmath>#include<ctype.h>#include<math.h>#include<algorithm>#include<set>#include<queue>typedef long long ll;using namespace std;const ll mod=1e9+7;const int maxn=1e5+10;const int maxk=3e5+10;const int maxx=1e4+10;const ll maxe=1000+10;#define INF 0x3f3f3f3f3f3f#define Lson l,mid,rt<<1#define Rson mid+1,r,rt<<1|1int main(){char a[maxn];cin>>a;//输⼊abcdefghstring s(a);//结果为abcdefghstring s1(a,5);//结果为abcdestring s2(s1);//结果为abcdecout<<s<<endl;cout<<s1<<endl;cout<<s2<<endl;return0;}输⼊输出:getline(cin,s,delim):从cin中提取字符存⼊串s中,当遇到delim或者提取的字符个数等于s的长度时结束,如果⾃⼰不设定,默认为'\n' getline(cin,s):遇到'\n'结束cin>>s:遇到空⽩字符终⽌提取,空⽩字符不被读取cout<<s:输出s#include<iostream>#include<string.h>#include<map>#include<cstdio>#include<cstring>#include<stdio.h>#include<cmath>#include<ctype.h>#include<math.h>#include<algorithm>#include<set>#include<queue>typedef long long ll;using namespace std;const ll mod=1e9+7;const int maxn=1e5+10;const int maxk=3e5+10;const int maxx=1e4+10;const ll maxe=1000+10;#define INF 0x3f3f3f3f3f3f#define Lson l,mid,rt<<1#define Rson mid+1,r,rt<<1|1int main(){string s;while(getline(cin,s,'#')){getchar();//⾃⼰指定了字符要加getchar,不然结果会多出⼀个换⾏,但是默认情况下不⽤加getcharcout<<s<<endl;}return0;}操作符:s=val:赋值操作,val可以是⼀个串,⼀个字符或⼀个字符数组s+=val:将val添加到串s之后s[pos]:下标操作s+t,t+s:s和t的连接,返回连接的结果。
C++中的string常用函数用法总结
C++中的string常用函数用法总结首先,为了在我们的程序中使用string类型,我们必须包含头文件<string>。
如下:#include <string> //注意这里不是string.h string.h是C字符串头文件#include <string>using namespace std;1.声明一个C++字符串声明一个字符串变量很简单:string Str;这样我们就声明了一个字符串变量,但既然是一个类,就有构造函数和析构函数。
上面的声明没有传入参数,所以就直接使用了string的默认的构造函数,这个函数所作的就是把Str 初始化为一个空字符串。
String类的构造函数和析构函数如下:a) string s; //生成一个空字符串sb) string s(str) //拷贝构造函数生成str的复制品c) string s(str,stridx) //将字符串str内“始于位置stridx”的部分当作字符串的初值d) string s(str,stridx,strlen) //将字符串str内“始于stridx且长度顶多st rlen”的部分作为字符串的初值e) string s(cstr) //将C字符串作为s的初值f) string s(chars,chars_len) //将C字符串前chars_len个字符作为字符串s的初值。
g) string s(num,c) //生成一个字符串,包含num个c字符h) string s(beg,end) //以区间beg;end(不包含end)内的字符作为字符串s的初值i) s.~string() //销毁所有字符,释放内存都很简单,我就不解释了。
2.字符串操作函数这里是C++字符串的重点,我先把各种操作函数罗列出来,不喜欢把所有函数都看完的人可以在这里找自己喜欢的函数,再到后面看他的详细解释。
a) =,assign() //赋以新值b) swap() //交换两个字符串的内容c) +=,append(),push_back() //在尾部添加字符d) insert() //插入字符e) erase() //删除字符f) clear() //删除全部字符g) replace() //替换字符h) + //串联字符串i) ==,!=,<,<=,>,>=,compare() //比较字符串j) size(),length() //返回字符数量k) max_size() //返回字符的可能最大个数l) empty() //判断字符串是否为空m) capacity() //返回重新分配之前的字符容量n) reserve() //保留一定量内存以容纳一定数量的字符o) [ ], at() //存取单一字符p) >>,getline() //从stream读取某值q) << //将谋值写入streamr) copy() //将某值赋值为一个C_strings) c_str() //将内容以C_string返回t) data() //将内容以字符数组形式返回u) substr() //返回某个子字符串v)查找函数w)begin() end() //提供类似STL的迭代器支持x) rbegin() rend() //逆向迭代器y) get_allocator() //返回配置器下面详细介绍:2.1 C++字符串和C字符串的转换C ++提供的由C++字符串得到对应的C_string的方法是使用data()、c_str()和copy(),其中,data()以字符数组的形式返回字符串内容,但并不添加'/0'。
string标准库函数
string标准库函数在C++中,std::string库提供了许多用于处理字符串的函数。
以下是一些常用的函数:1、构造函数:std::string(): 默认构造函数,创建一个空字符串。
std::string(const char*): 从C风格的字符串创建字符串。
std::string(const std::string&): 复制构造函数。
2、赋值操作:operator=: 赋值操作符。
3、访问和修改:at(int n): 访问指定位置的字符。
operator[] 或 operator(): 访问或修改指定位置的字符。
front(): 返回第一个字符。
back(): 返回最后一个字符。
c_str(): 返回指向一个C风格的字符串的指针。
4、长度和容量:size(): 返回字符串的长度。
max_size(): 返回字符串的最大可能长度。
empty(): 检查字符串是否为空。
5、插入和删除:insert(int pos, const std::string& str): 在指定位置插入字符串。
erase(int pos, int len): 删除指定位置和长度的字符。
6、连接:operator+: 连接两个字符串。
append(const std::string& str): 在末尾添加字符串。
7、比较:operator==, operator!=, <, >, <=, >=: 比较两个字符串。
8、查找:find(char c, int pos): 查找字符的位置。
find(const std::string& str, int pos): 查找字符串的位置。
9、修改:replace(int pos, int len, const std::string& str): 在指定位置和长度处替换字符串。
10、分割和合并:split(char delimiter): 根据给定的分隔符分割字符串。
capl中string类型
capl中string类型在CAPL中,string类型是用来存储和操作字符串的数据类型。
它可以存储任意长度的字符串,并支持一系列的字符串操作函数。
以下是一些常用的string类型函数和操作:1. strLength:返回字符串的长度。
2. strCpy:将一个字符串复制到另一个字符串。
3. strCat:将一个字符串连接到另一个字符串的末尾。
4. strCmp:比较两个字符串是否相等。
5. strFind:在一个字符串中查找另一个字符串,并返回第一次出现的位置。
6. strReplace:将一个字符串中的指定子字符串替换为另一个字符串。
7. strTrim:去除字符串首尾的空格。
8. strToInt:将字符串转换为整数。
9. intToStr:将整数转换为字符串。
以下是一个使用string类型的示例:```cvariables{string s1 = "Hello";string s2 = "World";string s3;int i = 123;}on start{s3 = strCat(s1, " ");s3 = strCat(s3, s2);write("Length of s3: ", strLength(s3));write("s1 + s2: ", s3);if(strCmp(s1, s2) == 0)write("s1 is equal to s2");elsewrite("s1 is not equal to s2");write("Position of 'World' in s3: ", strFind(s3, "World"));s3 = strReplace(s3, "World", "CAPL");write("s3 after replacement: ", s3);s3 = strTrim(s3);write("s3 after trimming: ", s3);s3 = intToStr(i);write("i as string: ", s3);i = strToInt(s3);write("s3 as integer: ", i);}```这只是一些CAPL中string类型的常用函数和操作的示例,还有更多的操作和函数可以用来处理字符串。
c++algorithm中的函数
c++algorithm中的函数
在C++算法中,有很多实用的函数可以帮助程序员提高编程效率。
例如:
1. string类型的函数:
(1)string::npos表示string类型的结束位置,可以用于判断字符串是否结束。
(2)string::find()函数可以在字符串中查找字符或子串,如果找到了就返回该位置的下标,否则返回string::npos。
(3)string::substr()函数可以从一个字符串中复制一段子串。
2. vector类型的函数:
(1)vector::push_back()函数可以在vector的尾部添加一个元素。
(2)vector::pop_back()函数可以删除vector的最后一个元素。
(3)vector::insert()函数可以在vector中的任意位置插入元素。
3. 迭代器类型的函数:
(1)advance()函数可以让迭代器向前或向后移动指定的距离。
(2)distance()函数可以计算两个迭代器之间的距离。
(3)next()函数返回指向迭代器后面第n个元素的迭代器。
这些函数是C++算法中非常常用的函数,可以帮助程序员提高编程效率。
lua string函数
lua string函数Lua是一种轻量级的脚本语言,其string函数是Lua中最常用的函数之一。
string函数提供了一系列字符串操作的方法,包括字符串的拼接、查找、替换、分割等。
下面我将介绍一些常用的Lua string函数。
1. string.sub(s, i, j)该函数用于截取字符串s中从第i个字符到第j个字符之间的子串。
如果i和j都为负数,则从字符串末尾开始计算。
如果j省略,则截取到字符串末尾。
2. string.find(s, pattern, init, plain)该函数用于在字符串s中查找符合pattern模式的子串,并返回其起始位置和结束位置。
init参数指定了查找的起始位置,默认为1。
plain参数为true时,表示pattern不是一个模式,而是一个普通的字符串。
3. string.gsub(s, pattern, repl, n)该函数用于在字符串s中查找符合pattern模式的子串,并用repl字符串替换它们。
n参数指定了最多替换的次数,默认为全部替换。
4. string.match(s, pattern, init)该函数用于在字符串s中查找符合pattern模式的子串,并返回第一个匹配的子串。
init参数指定了查找的起始位置,默认为1。
5. string.rep(s, n)该函数用于将字符串s重复n次,并返回重复后的字符串。
6. string.reverse(s)该函数用于将字符串s反转,并返回反转后的字符串。
7. string.format(formatstring, ...)该函数用于格式化字符串,类似于C语言中的printf函数。
formatstring参数指定了格式化的字符串,...表示需要格式化的参数。
8. string.len(s)该函数用于返回字符串s的长度。
9. string.lower(s)该函数用于将字符串s转换为小写字母,并返回转换后的字符串。
字符串常用的函数
字符串常⽤的函数String相关函数1)substring()它有两种形式,第⼀种是:String substring(int startIndex)第⼆种是:String substring(int startIndex,int endIndex)2)concat() 连接两个字符串例:String s="Welcome to ";String t=s.concat("AnHui");3)replace() 替换它有两种形式,第⼀种形式⽤⼀个字符在调⽤字符串中所有出现某个字符的地⽅进⾏替换,形式如下:String replace(char original,char replacement)例如:String s=”Hello”.replace(’l',’w');第⼆种形式是⽤⼀个字符序列替换另⼀个字符序列,形式如下:String replace(CharSequence original,CharSequence replacement)4)trim() 去掉起始和结尾的空格5)valueOf() 转换为字符串6)toLowerCase() 转换为⼩写7)toUpperCase() 转换为⼤写8)length() 取得字符串的长度例:char chars[]={’a',’b’.’c'};String s=new String(chars);int len=s.length();9)charAt() 截取⼀个字符例:char ch;ch=”abc”.charAt(1);返回值为’b’10)getChars() 截取多个字符void getChars(int sourceStart,int sourceEnd,char target[],int targetStart)sourceStart 指定了⼦串开始字符的下标sourceEnd 指定了⼦串结束后的下⼀个字符的下标。
string类的常用方法
string类的常用方法String 类是 Java 中最基本的字符串类,提供了许多常用的方法,以下是一些常见的字符串方法:1. 构造函数:String str = "Hello, World!";2. charAt(int index):返回字符串中指定位置的字符,如charAt(1) 返回字符串 "H" 的第一个字符。
3.concat(String str):将两个字符串连接在一起,如:concat(", ", str);4.indexOf(String str):返回字符串中指定字符串的起始索引,如:indexOf("Hello, World!", "Hello, World!");stIndexOf(String str):返回字符串中指定字符串的终止索引,如:lastIndexOf("Hello, World!", "W");6.match(String regex):将字符串匹配到指定字符串的子串中,如:match("Hello, World!");7.replace(String str, String regex):在字符串中替换指定的字符串,如:replace("Hello, World!", "World, Hello!");8.trim():将字符串前、后自动去除空格,如:trim(str);9. toString():返回字符串的打印字符串,如:toString();10. Underscore.indexOf(String str):返回字符串中指定字符串的当前 Underscore 首字母的索引,如: Underscore.indexOf("_" + str) = 0;11. toLowerCase():将字符串转换为大写字母,如:toLowerCase(str);12. toUpperCase():将字符串转换为大写字母,如:toUpperCase(str);13. toLowerCase();14. toUpperCase();15. equals(String str):检查两个字符串是否相等,如:equals(str);16. indexOf():返回指定字符串在字符串中出现的起始索引,如:indexOf("Hello, World!", "H") = 0;stIndexOf():返回指定字符串在字符串中出现的终止索引,如:lastIndexOf("Hello, World!", "W") = -1;18. charAt(int index):返回指定位置的字符,如:charAt(1) = "H";19. length():返回字符串的长度,如:length() = 15;20. toLocaleLowerCase():将字符串转换为小写字母,如:toLocaleLowerCase(str);21. toLocaleUpperCase():将字符串转换为大写字母,如:toLocaleUpperCase(str);22. toLowerCase();23. toUpperCase();24. toLowerCase();25. toUpperCase();26. trim();这些是 String 类的常用方法,还有其他的方法可以根据具体的需要进行调用。
字符串串的函数
字符串串的函数一、什么是字符串在计算机科学中,字符串(String)是字符的有序序列。
它是一种常见的数据类型,被广泛用于各种编程语言中。
字符串可以包含字母、数字、符号以及特殊字符,它们以特定的顺序排列在一起,形成一个字符串。
在编程中,我们经常需要对字符串进行操作,比如拼接、查找、替换等。
而字符串串的函数就是用来处理字符串的函数。
本文将深入探讨字符串串的函数以及它们在日常编程中的应用。
二、基本的字符串串函数在编程语言中,通常会提供一些基本的字符串串函数,用于对字符串进行常见的操作。
下面是其中几个常用的字符串串函数:2.1 len()函数len()函数用于获取字符串的长度,即字符串中字符的个数。
以Python语言为例,我们可以通过len()函数获取一个字符串的长度。
比如:string = "Hello, World!"length = len(string)print(length) # 输出:132.2 upper()函数和lower()函数upper()函数用于将字符串中的所有字母转为大写,lower()函数用于将字符串中的所有字母转为小写。
这两个函数在处理字符串时非常有用。
示例如下:string1 = "Hello, World!"string2 = "Python is Great!"uppercase1 = string1.upper()lowercase2 = string2.lower()print(uppercase1) # 输出:HELLO, WORLD!print(lowercase2) # 输出:python is great!2.3 strip()函数strip()函数用于去除字符串两端的空格或指定的字符。
这个函数在处理用户输入、文件读取等情况时经常用到。
示例如下:string = " Hello, World! "stripped_string = string.strip()print(stripped_string) # 输出:Hello, World!2.4 split()函数split()函数用于将字符串按照指定的分隔符分割成多个子字符串,并返回一个包含这些子字符串的列表。
cstring常用方法
cstring常用方法
cstring常用方法是C++中对字符串进行操作的函数集合,包括字符串长度、字符串复制、字符串连接、字符串比较等常用操作。
下面列举一些常用的cstring方法:
1. strlen:用于获取字符串的长度,返回字符串中字符的个数。
2. strcpy:用于将一个字符串复制到另一个字符串中,返回复制后的字符串。
3. strcat:用于将两个字符串连接成为一个新的字符串,返回连接后的字符串。
4. strcmp:用于比较两个字符串的大小,返回值为0表示相等,大于0表示第一个字符串大于第二个字符串,小于0表示第一个字符串小于第二个字符串。
5. strstr:用于在一个字符串中查找另一个字符串,返回值为第一个字符串中第一个匹配到的子串的起始位置。
6. strchr:用于在一个字符串中查找一个字符,返回值为第一个匹配到的字符的位置。
7. strtok:用于将一个字符串分割成若干个子串,返回分割后的第一个子串。
除了上述的常用方法外,cstring还包括了许多其他方法,如strncpy、strnlen、strncat等等。
在实际编程中,cstring的方法可以大大简化字符串操作的代码量,提高程序的效率和可读性。
- 1 -。
string函数的用法
string函数的用法string函数是C++中常用的字符串处理函数,它可以对字符串进行各种操作,如拼接、查找、替换等。
下面介绍一些常用的string函数的用法。
1. string的定义和初始化定义string变量时,需要包含头文件<string>,可以使用以下两种方式进行初始化:string str1; //定义一个空字符串string str2 = "hello world"; //定义并初始化一个字符串2. string的拼接使用“+”运算符可以将两个字符串拼接起来,例如:string str1 = "hello";string str2 = "world";string str3 = str1 + " " + str2; //拼接后的字符串为"hello world"3. string的查找使用find函数可以查找字符串中是否包含某个子串,如果包含则返回子串在字符串中的位置,否则返回string::npos。
例如:string str = "hello world";int pos = str.find("world"); //pos的值为64. string的替换使用replace函数可以将字符串中的某个子串替换为另一个字符串,例如:string str = "hello world";str.replace(6, 5, "there"); //将"world"替换为"there"5. string的截取使用substr函数可以截取字符串中的某一段子串,例如:string str = "hello world";string sub = str.substr(6, 5); //截取"world"6. string的大小写转换使用transform函数可以将字符串中的字母全部转换为大写或小写,例如:string str = "Hello World";transform(str.begin(), str.end(), str.begin(), ::tolower); //将字符串转换为小写transform(str.begin(), str.end(), str.begin(), ::toupper); //将字符串转换为大写以上就是string函数的一些常用用法,掌握这些函数可以让我们更加方便地处理字符串。
- 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;strings2="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个字符c iterator 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,迭代器提供了访问各个字符的语法,类似于指针操作,迭代器不检查范围。