C/C++字符串
2021/4/15 20:28:21
本文主要是介绍C/C++字符串,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
C风格字符串
char ss1[] = "hello"; char ss2[6] = "hello"; //ss1[5]不可以 char ss3[] = {'h', 'e', 'l', 'l', 'o'}; char ss4[5] = {'h', 'e', 'l', 'l', 'o'}; char ss5[6] = {'h', 'e', 'l', 'l', 'o', '\0'}; //sizeof(ss)结果:6 6 5 5 6 //编译器会在ss1与ss2后自动添加null字符'\0'
- C++提供的以 null 结尾的字符串处理函数
// 头文件<cstring> //复制 strcpy(ss1, ss2); //拼接 strcat(ss1, ss2); //计算字符串长度 strlen(ss); //比较函数 //ss1=ss2返回0,ss1<ss2返回-1,ss1>ss2返回1 strcmp(ss1, ss2); //返回指针,指向字符ch在ss中第一次出现的位置 strchr(ss, ch); char ss[] = "just do it"; char *p = strchr(ss, 't'); cout << p << endl; //结果为:t do it //返回指针,指向ss2在ss1中第一次出现的位置 strstr(ss1, ss2);
标准库类型string
string是可变长字符序列,定义在std中
- 初始化
// 初始化方法 string s1; string s2("hello"); //直接初始化 string s3 = "hello"; //拷贝初始化 string s4(3, '6'); //s4为666
- I/O操作
// 输入时忽略开头的空白(空格符、换行符、制表符等),遇见下一处空白为止 string s1, s2; cin >> s1 >> s2; cout << s1 << s2 << endl; // 读取未知数量string:遇见EOF结束(windows下:ctrl+z,Enter) string s; while(cin >> s){ cout << s << endl; } // 读取未知数量整行,遇见EOF结束 string line; while(getline(cin, line)){ cout << line << endl; }
- 常用操作
string s; s.empty(); //返回bool值 s.size(); //返回大小,size_type类型(unsigned类型) // ==、!=判断是否相同 // <、>等比较时按照大小写敏感的字典顺序 s1 += s2; //string对象相加 s = s + "666"; //string对象与字面值相加 // 注意:两个字面值不能相加 s1 = s + "yes" + "no"; //正确 s2 = "yes" + "no" + s; //错误 s3 = "yes" + ("no" + s); //正确
这篇关于C/C++字符串的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-09flutter3.x_macos桌面os实战
- 2024-05-09Rust中的并发性:Sync 和 Send Traits
- 2024-05-08使用Ollama和OpenWebUI在CPU上玩转Meta Llama3-8B
- 2024-05-08完工标准(DoD)与验收条件(AC)究竟有什么不同?
- 2024-05-084万 star 的 NocoDB 在 sealos 上一键起,轻松把数据库编程智能表格
- 2024-05-08Mac 版Stable Diffusion WebUI的安装
- 2024-05-08解锁CodeGeeX智能问答中3项独有的隐藏技能
- 2024-05-08RAG算法优化+新增代码仓库支持,CodeGeeX的@repo功能效果提升
- 2024-05-08代码报错不用愁,CodeGeeX一键完成代码修复、错误解释的功能上线了!
- 2024-05-08今天开始程序员不用再发愁写commit message了,全部由CodeGeeX自动完成!