快速体验
- 打开 InsCode(快马)平台 https://www.inscode.net
- 输入框内输入如下内容:
创建一个面向初学者的std::string教学程序,包含以下示例:1)字符串的声明和初始化;2)基本的增删改查操作;3)字符串与数字的转换;4)简单的字符串加密。每个示例都要有详细的步骤说明和输出演示。 - 点击'项目生成'按钮,等待项目生成完整后预览效果
最近在学C++,发现std::string这个字符串处理工具特别实用,比传统的字符数组方便多了。整理了一份学习笔记,希望能帮到同样刚入门的朋友们。
1. 字符串的声明和初始化
std::string是C++标准库提供的字符串类,用之前需要包含<string>头文件。声明和初始化有几种常见方式:
- 直接赋值:
std::string str = "Hello"; - 构造函数初始化:
std::string str("World"); - 重复字符初始化:
std::string str(5, 'A');// 结果是"AAAAA"
最方便的是它不需要像C语言那样担心数组越界问题,长度会自动管理。
2. 基本增删改查操作
字符串的日常操作主要围绕这几个方面:
- 追加内容:用
+=运算符或者append()方法,比如str += "!"; - 插入内容:
insert()方法可以在指定位置插入字符串 - 删除内容:
erase()可以删除部分内容,比如str.erase(0,5)删除前5个字符 - 查找子串:
find()方法返回子串位置,找不到时返回特殊值string::npos
3. 字符串与数字转换
实际编程经常需要在字符串和数字之间转换:
- 数字转字符串:C++11开始可以用
to_string()函数 - 字符串转数字:可以用
stoi()(转整型)、stof()(转浮点)等函数
注意转换失败时会抛出异常,生产代码要做好异常处理。
4. 简单字符串加密示例
做个简单的凯撒加密演示:
- 遍历字符串每个字符
- 对每个字母字符做位移(比如ASCII码+3)
- 非字母字符保持不变
- 解密就是反向位移
虽然这个加密很基础,但能很好练习字符串的遍历和修改操作。
学习建议
刚开始可以多在InsCode(快马)平台上练习,这个平台可以直接在浏览器里写代码运行,不需要配置本地环境,特别适合新手。我试过在那里写字符串处理的小程序,写完还能一键部署看效果,比自己折腾开发环境省心多了。
学std::string最重要的是多动手实践,它提供了几十个成员函数,不用死记硬背,知道常用哪些就行,用的时候查文档。字符串处理是编程基础中的基础,掌握好了后面学文件操作、网络通信都会轻松很多。
快速体验
- 打开 InsCode(快马)平台 https://www.inscode.net
- 输入框内输入如下内容:
创建一个面向初学者的std::string教学程序,包含以下示例:1)字符串的声明和初始化;2)基本的增删改查操作;3)字符串与数字的转换;4)简单的字符串加密。每个示例都要有详细的步骤说明和输出演示。 - 点击'项目生成'按钮,等待项目生成完整后预览效果
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考