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-11-22怎么实现ansible playbook 备份代码中命名包含时间戳功能?-icode9专业技术文章分享
- 2024-11-22ansible 的archive 参数是什么意思?-icode9专业技术文章分享
- 2024-11-22ansible 中怎么只用archive 排除某个目录?-icode9专业技术文章分享
- 2024-11-22exclude_path参数是什么作用?-icode9专业技术文章分享
- 2024-11-22微信开放平台第三方平台什么时候调用数据预拉取和数据周期性更新接口?-icode9专业技术文章分享
- 2024-11-22uniapp 实现聊天消息会话的列表功能怎么实现?-icode9专业技术文章分享
- 2024-11-22在Mac系统上将图片中的文字提取出来有哪些方法?-icode9专业技术文章分享
- 2024-11-22excel 表格中怎么固定一行显示不滚动?-icode9专业技术文章分享
- 2024-11-22怎么将 -rwxr-xr-x 修改为 drwxr-xr-x?-icode9专业技术文章分享
- 2024-11-22在Excel中怎么将小数向上取整到最接近的整数?-icode9专业技术文章分享