统计一行字符串有几个单词 c++
时间: 2024-09-12 14:06:06 浏览: 58
读取字符串,按行,逐字
在C++中,统计字符串中有多少个单词通常涉及到处理空格分隔。你可以创建一个函数,遍历字符串并计算非空字符连续序列的数量,每遇到空格就将计数加一。以下是一个简单的示例:
```cpp
#include <string>
#include <cctype> // 包含 isspace 函数
size_t countWords(const std::string& str) {
size_t wordCount = 0;
bool insideWord = false; // 标记当前是否在单词内部
for (char c : str) {
if (!isspace(c)) { // 非空格字符
insideWord = true;
continue;
}
if (insideWord) { // 如果在单词内部,则单词结束,计数加一
wordCount++;
insideWord = false;
}
}
// 检查最后一个单词(如果字符串结尾有空格)
if (insideWord || !str.empty()) {
wordCount++;
}
return wordCount;
}
// 使用示例
int main() {
std::string sentence = "Hello, world! This is a C++ example.";
std::cout << "Number of words: " << countWords(sentence) << std::endl;
return 0;
}
```
阅读全文