首页 > 编程知识 正文

c中string函数库常用函数,ioctl函数详解

时间:2023-05-04 08:55:00 阅读:20873 作者:432

与配置文件#includestring.h头文件不同,#includestring头文件中的函数专门用于处理c字符串。 前者是处理c语言char数组的头文件。

函数1、运算符:=、[1]和c重载了字符串,因此可以轻松计算字符串。

# include iostream # includestringusingnamespacestd; int main ((字符串S1=' 123 ),s2='567 ); string s3=s1 s2; cout s3 endl; //实现等号赋值,加号串联cout s3[0] endl; //实现对有字符串的值的访问return 0; }输出:

123567

1

二、求长度:可同时使用length ()、size () )求长度。 length ) )获取字符串长度。 size ) )取得字符串这一容器内元素的个数

# include iostream # includestringusingnamespacestd; int main () {string s1='123 ); cout s1.length () endl; cout s1.size () endl; 返回0; }输出:

3

3

三、反转字符串: reverse(http://www.Sina.com/

1、实现所有字符串的翻转。

# include iostream # include algorithm # includestringusingnamespacestd; int main ((字符串S1=' 12345 ); 反转(S1.begin )、s1.end ); cout s1 endl; 返回0; }输出:

54321

2 .通过使用迭代器,也可以实现指定位置的翻转。

# include iostream # include string # includealgorithmusingnamespacestd; int main ((字符串S1=' 12345 ); string :3360 iterator it=S1.begin (; reverse(it、it 3; cout s1 endl; 返回0; }输出:

32145

四、判断字符串是否为空:如果empty ()为空,则值为1,反之为0

# include iostream # includestringusingnamespacestd; int main ((字符串S1=' 12345 ); if(s1.empty )==1) cout '字符串为空'; else cout '字符串不为空'; 返回0; }输出:

字符串不为空

五、字符串清除函数: clear ) )清除字符串

# include iostream # includestringusingnamespacestd; int main ((字符串S1=' 12345 ); s1.clear (; if(s1.empty )==1) cout '字符串为空'; else cout '字符串不为空'; 返回0; }输出:

字符串为空

六、删除字符串: erase ()使用erase(intx,int num ),从x位置向后删除,不含x,删除num个字符。

# include iostream # includestringusingnamespacestd; int main ((字符串S1=' 12345 ); S1.erase (0,2 ); //0位置向后删除,删除两个cout s1; 返回0; }输出:

345

七、插入函数: insert ()用于插入num个字符c (insert )、intx1、int num、char c )、从x位置向后插入) x除外。

# include iostream # includestringusingnamespacestd; int main ((字符串S1=' 12345 ); s1.in

sert(0, 1, '1');cout << s1; return 0;}

输出:
112345

八、查找函数之find()、rfind()、find_first_of()、find_first_not_of()、 find_last_of()、find_last_not_of() 8.1 find()函数 8.1.1、查找指定字符, 从某个位置向后开始查找, 返回该位置,若查找不到,则返回-1 #include<iostream>#include<string> using namespace std;int main() {string s1 = "123145";int find1 = s1.find('1', 1); cout << find1 << endl; int find2 = s1.find('6');cout << find2;return 0;}

输出:
3
-1

8.1.2、查找字符串, 原理同上, 若查找到返回字符串的起始位置(注意是起始位置)。 #include<iostream>#include<string> using namespace std;int main() {string s1 = "123145";int find1 = s1.find("23", 0); cout << find1 << endl; int find2 = s1.find("56", 0);cout << find2;return 0;}

输出:
1
-1

8.2 rfind()函数

从后往前查找指定的字符或字符串,用法同上。

8.3 find_first_of()函数

查找第一个等于x字符的位置。 用法同上

8.4 find_first_not_of()函数

查找第一个不等于x字符的位置。 用法同上

8.5 find_last_of()函数

查找最后一个等于x字符的位置(注意是查找最后一个,而不是从后往前查找)。

8.6 find_last_not_of()函数

查找最后一个不等于x字符的位置。 用法同上

注意:只有find和rfind函数可以查找字符串!其他函数查找会出现值不准确的情况!

九、替换函数:replace()

把0后的两个字符替换成A

#include<iostream>#include<string> using namespace std;int main() {string s1 = "12345";s1.replace(0, 2, "A");cout << s1;return 0;}

输出:
A345

十、字符串转换类函数 10.1 将string转换成char*的函数: c_str()

在做题过程中, printf往往比cout要灵活一些,尤其是在输出指定内容时, 但我们知道,printf无法输出string型字符串,我们就可以用c_str()函数进行转化后输出。

#include<iostream>#include<string> using namespace std;int main() {string s1 = "12345";printf("%s", s1.c_str());return 0;}

输出:
12345

10.2 将其他类型变量转换成string字符串:to_string() #include<iostream>#include<string> using namespace std;int main() {double pi = 3.1415926;string s1 = to_string(pi);cout << s1;return 0;}

输出:
3.1415926

十一、gsdzt保佑,永无BUG泛滥 /* _ooOoo_ o8888888o 88" . "88 (| -_- |) O = /O ____/`---'____ . ' \| |// `. / \||| : |||// / _||||| -:- |||||- | | \ - /// | | | _| ''---/'' | | .-__ `-` ___/-. / ___`. .' /--.-- `. . __ ."" '< `.____<|>_/___.' >'"". | | : `- `.;` _ /`;.`/ - ` : | | `-. _ __ /__ _/ .-` / / ======`-.____`-.________/___.-`____.-'====== `=---=' ............................................. gsdzt镇楼 BUG辟易 佛曰: 写字楼里写字间,写字间里程序员; 程序人员写程序,又拿程序换酒钱。 酒醒只在网上坐,酒醉还来网下眠; 酒醉酒醒日复日,网上网下年复年。 但愿老死电脑间,不愿鞠躬老板前; 奔驰宝马贵者趣,公交自行程序员。 别人笑我忒疯癫,我笑自己命太贱; 不见满街漂亮妹,哪个归得程序员? */ /*_ooOoo_o8888888o88" . "88(| -_- |) O = /O___/`---'____. ' \| |// `./ \||| : |||// / _||||| -:- |||||- | | \ - /// | || _| ''---/'' | | .-__ `-` ___/-. /___`. .' /--.-- `. . __."" '< `.____<|>_/___.' >'"".| | : `- `.;` _ /`;.`/ - ` : | | `-. _ __ /__ _/ .-` / /======`-.____`-.________/___.-`____.-'======`=---=' ............................................. 佛曰:bug泛滥,我已瘫痪! */

如果哪里有困惑,欢迎给笔者留言。

如果这篇博文对你产生了帮助,可以留下小小的一个赞哦,大家的支持是我更新的最大动力~

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。