C++中字符串的库函数

在C++中使用String的库函数,需要在程序中加载头文件   # include <string.h>

1.strcpy  字符串复制。格式: int strcpy(char *string1, char *string2)

函数复制字符串string2的内容到string1,string2保持不变。现在调用strcpy(str1,str2)如下所示。

(1)初始时,char str1[]="word", char str2[]="word2";调用后str1[]="word2",str2不变。

(2)初始时,char str1[]="word1", char str2[]="word2";调用后str1[]="word2",str2不变。

(3)初始时,char str1[]="word123", char str2[]="word2";调用后str1[]="word223",str2不变。

2.strncpy   字符串部分复制。格式:int srncpy(char *string1, char *string2, int n)

字符串string2的前n个字符覆盖string1的前n个字符,string保持不变。 

3.strcat    字符串连接。格式:int  strcat(char *string1,char *string2)

连接string2到string1的后后面,string2保持不变。

4.strncat   将特定数量的字符串连接到另一个字符串。格式:int strncat(char *string1, char *string2, int n)

将string2中的前n个字符连接懂啊string1后面,string2保持不变。

5._strdup 预先配置内存,将字符串存入该内存中。格式:char *_strdup(char *string1)

为string1分配内存空间并将string存入其中,返回指向该内存开始地址的指针。

6.strchr  在给定字符串中搜寻指定字符。格式:char  *strchr(char *string1,char ch)

在string1中搜寻字符ch并返回指向ch的指针,失败返回NULL。

7.trcspn  在给定字符串中搜寻某个指定字符第一次出现的位置。格式:int strcspn(char *string1, char ch)

在string1中搜寻ch并返回该字符第一次出现的位置,从0开始计数。

8. strrchr  在给定字符串中搜寻某个指定字符最后一次出现的位置。格式:int strrchr(char *string1, char ch)

在string1中搜寻ch并返回该字符在string1中最后一次出现的位置,失败返回NULL。

9.strpbrk  在两个字符串中寻找首次共同出现的字符。格式:char *strpbrk(const char *string1, const char *string2)

在string1和string2中搜寻首次共同出现的字符,返回其在string1中的位置,失败返回NULL。

10.strstr 在两个字符串中寻找首次共同出现的公共子字符串。格式:char * strstr(const char *string1, const char *string2)

在string1中寻找和string2匹配的子字符串,返回该子字符串第一个字符在string1中的位置,失败返回NULL。

11. strlen  计算字符串的长度。格式:int  strlen(const char *string1)

计算string1的长度。

12._strnset 在给定字符串中按指定数目将若干字符置换为指定字符。格式:char *_strnset(char *string1, char ch, int m)

将string1的前m个字符全部设定为ch。

13.strcmp 字符串比较大小。格式:int strcmp(char *string1, char *string2)

比较string1和string2的大小,返回值有三种情况:<0,   =0,   >0.

例如,int k=strcmp("Joe","Joseph"),k<0.

### C++标准库中的字符串处理函数 #### std::string类成员函数 `std::string` 是 C++ 标准模板库 (STL) 提供的一个非常方便的类,它位于 `<string>` 头文件内[^1]。下面是一些常用的方法及其简单说明: - **构造与赋值** - `string(const char* s);`: 构造一个具有给定C风格字符串内容的新对象。 - `operator=(const string &s);`: 将当前对象的内容替换为另一个字符串对象`s`的内容。 - **访问元素** - `size_t length() const noexcept;`: 返回字符串长度。 - `char operator[](size_t pos) const;`: 访问指定位置上的字符(不检查边界),对于安全版本可以使用`at()`方法代替。 - **修改器** - `void push_back(char c);`: 向字符串末尾追加单个字符[^2]。 - `string& append(const string& str, size_t subpos, size_t sublen);`: 追加来自其他字符串的一部分到此字符串之后。 - **查询子串** - `string substr(size_t pos = 0, size_t n = npos) const;`: 获取从索引`pos`开始长度不超过`n`的子串,默认取至结尾。 - **比较两个字符串** - `int compare(const string& str) const;`: 比较本字符串和其他字符串之间的字典顺序关系;返回负数表示小于对方,零代表相等,正数意味着大于对方。 - **查找特定字符/子串的位置** - `size_t find_first_of(const string& str, size_t pos = 0) const;`: 查找任意属于参数所指明集合内的第一个匹配项所在下标。 - `size_t rfind(const string& str, size_t pos = npos) const;`: 寻找最后一次出现的目标子串起始处偏移量。 - **删除部分数据** - `string& erase(size_t pos = 0, size_t n = npos);`: 移除连续范围内的元素并调整剩余部分。 ```cpp #include <iostream> #include <string> using namespace std; int main(){ // 创建和初始化字符串 string greeting = "Hello"; // 添加新字符 greeting.push_back(','); cout << "After adding ',' : " << greeting << endl; } ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值