C++字符串处理详解:getline()与常用操作

需积分: 12 3 下载量 77 浏览量 更新于2024-08-05 2 收藏 1.18MB PPT 举报
“C++字符串教程.ppt - C++语言中的字符串操作详解及示例” 在C++编程语言中,字符串是一系列字符的集合,通常用于处理文本数据。本教程主要介绍C++中的字符串处理,包括基本类型、常用函数以及一些实践示例。 1. **字符串类型:string** C++标准库提供了`std::string`类型来处理字符串,它是一个动态可变大小的字符数组。例如: ```cpp string st = "Nikeisexcellent!"; ``` 2. **读取字符函数:getline()** `getline()`函数用于从输入流中读取一行文本,直到遇到换行符或EOF。基本用法如下: ```cpp getline(cin, st); ``` 这里`cin`是输入流,`st`是存储读取到的字符串的变量。 3. **返回字符串长度的函数:size()** `size()`函数用于获取字符串的长度,即其中字符的数量。例如: ```cpp st.size(); // 返回字符串st的长度 ``` 4. **字符串操作示例** - **赋值和访问**:可以使用索引来访问字符串中的单个字符,或者通过`+`运算符连接字符串。 ```cpp char s = 'y'; st = "Nikeisexcellent!"; st[1] = 'i'; // 修改第二个字符 st[4] = ' '; // 修改第五个字符 st[0] = 'N'; // 修改第一个字符 st += s; // 在末尾添加字符's' st += st2; // 连接两个字符串 ``` - **提取子字符串**:使用`substr()`函数可以从字符串中提取一部分。 ```cpp st.substr(4, 2); // 从索引4开始,提取2个字符,得到"is" ``` - **删除字符**:使用`erase()`函数可以删除字符串中的字符或子串。 ```cpp st.erase(4, 3); // 删除从索引4开始的3个字符,得到"Nikeexcellent!" ``` 5. **实例代码**: - 输入两行字符串并输出第二行: ```cpp string st, st2; getline(cin, st); getline(cin, st2); st2 = st; // 将st的值赋给st2 cout << st2; // 输出st2 ``` - 倒序输出字符串: ```cpp string st1, st2; getline(cin, st1); st2 = ""; // 初始化为空字符串 int k = st1.size(); for (int i = k - 1; i >= 0; i--) { st2 += st1[i]; // 从后向前逐个添加字符 } cout << st2; // 输出倒序的字符串 ``` 6. **其他字符串操作**: - **比较字符串**:可以使用`==`, `!=`, `<`, `>`, `<=`, `>=`等运算符进行字符串比较。 - **插入和替换字符**:`insert()`和`replace()`函数分别用于在指定位置插入字符或子串,以及替换子串。 - **查找字符或子串**:`find()`函数可以查找特定字符或子串的位置,如果未找到则返回`string::npos`。 7. **恺撒加密术**: 恺撒加密是一种简单的替换加密技术,通过将每个字符替换为字母表中固定偏移量后的字符。在C++中实现恺撒加密,可以遍历字符串并对每个字符执行相应的位移操作。 通过理解和掌握这些基本概念和函数,你可以更有效地在C++程序中处理和操作字符串。记得在实际编程中始终包含必要的头文件,如`<iostream>`和`<string>`,并使用`std`命名空间。