一、字符串最后一个单词的长度
使用 cin 输入时遇到空格会停止,若需读取包含空格的整行内容,应使用 getline。

getline 并非成员函数,而是输入流的全局函数 getline(istream&, string&)(定义在 <string> 头文件中),作用是从输入流中读取一整行内容存入 string 对象。
// 基础用法(读整行)
getline(输入流对象,string 对象);
// 扩展用法(读至指定终止符)
getline(输入流对象,string 对象,终止字符);
思路: 利用 string 类的 rfind 成员函数从末尾向前查找第一个空格的位置。如果找到空格,最后一个单词长度 = 字符串总长度 - (空格位置 + 1);如果没找到空格(整个字符串是一个单词),长度 = 字符串总长度。
string 类的 rfind 是从字符串末尾向前查找指定内容的成员函数,返回匹配内容的起始下标(若未找到则返回 string::npos)。参数 1 为要查找的子串/字符,参数 2 为查找的结束位置(默认 string::npos)。

#include <iostream>
#include <string>
using namespace std;
int main() {
string str;
// cin >> str; // cin 检测到空格或换行就会结束,这里使用 getline
getline(cin, str);
size_t pos = str.rfind();
(pos != string::npos) {
cout << str.() - (pos + ) << endl;
} {
cout << str.() << endl;
}
;
}



