C++构建string迭代器输出string中字符的个数

简介: C++构建string迭代器输出string中字符的个数
include <iostream>
#include <string>
#include <algorithm>
using namespace std;
//计算字符个数
int count()
{
    static int count = 0;
    return count++;
}
 //遍历字符串
 void check(char _litter)
 {
    if(('a' <= _litter && _litter <= 'z') || ('A' <= _litter && _litter <= 'Z'))
        count();
 }
int main()
{
    //创建字符串sentence
    string sentence;
    cout << "enter a sentence: ";
    //从键盘输入字符串
    getline(cin, sentence);
    //构建string迭代器,分别sentence指向字符串的开头和结尾
    string::iterator str_ite_begin = sentence.begin();
    string::iterator str_ite_end = sentence.end();
    //用算法for_each遍历字符串,需引入头文件algorithm
    for_each(str_ite_begin, str_ite_end, check);
    //输出字符串中字符的个数
    cout << count() << endl;
    return 0;
} 
相关文章
|
23小时前
|
安全 C++
C++一分钟之-字符串处理:std::string
【6月更文挑战第25天】`std::string`是C++文本处理的核心,存在于`&lt;string&gt;`库中。它支持初始化、访问、连接、查找、替换等操作。常见问题包括空指针解引用、越界访问和不当内存管理。要安全使用,确保字符串初始化,用`at()`检查边界,用`.empty()`检查空字符串,且无需手动释放内存。高效技巧包括预先分配内存、利用互转函数以及使用迭代器。记得正确比较和遍历字符串以保证代码效率和安全性。
16 5
|
4天前
|
算法 数据处理 C++
C++一分钟之-迭代器与算法
【6月更文挑战第21天】C++ STL的迭代器统一了容器元素访问,分为多种类型,如输入、输出、前向、双向和随机访问。迭代器使用时需留意失效和类型匹配。STL算法如查找、排序、复制要求特定类型的迭代器,注意容器兼容性和返回值处理。适配器和算法组合增强灵活性,但过度使用可能降低代码可读性。掌握迭代器和算法能提升编程效率和代码质量。
22 3
|
1天前
|
算法 编译器 Linux
【C++/STL】:vector容器的底层剖析&&迭代器失效&&隐藏的浅拷贝
【C++/STL】:vector容器的底层剖析&&迭代器失效&&隐藏的浅拷贝
5 0
|
1天前
|
编译器 C语言 C++
【C++/STL】:string类底层的模拟实现
【C++/STL】:string类底层的模拟实现
4 0
|
1天前
|
算法 C++ 容器
【C++/STL】:string类的基本使用
【C++/STL】:string类的基本使用
7 0
|
1天前
|
编译器 C语言 C++
C++——string类的使用
C++——string类的使用
3 0
|
5天前
|
Java
最大的 String 字符长度是多少?
最大的 String 字符长度是多少?
|
6天前
|
C++
【洛谷 B2025】输出字符菱形 题解(raw string literal)
使用`*`构建一个斜置的、对角线长度为5的菱形。无输入要求。输出示例:`*`、`***`、`*****`、`***`、` *`。代码实现使用C++,直接打印预定义字符串完成。
21 0
|
5天前
|
C++
C++一分钟之-类与对象初步
【6月更文挑战第20天】C++的类是对象的蓝图,封装数据和操作。对象是类的实例。关注访问权限、构造析构函数的使用,以及内存管理(深拷贝VS浅拷贝)。示例展示了如何创建和使用`Point`类对象。通过实践和理解原理,掌握面向对象编程基础。
32 2
C++一分钟之-类与对象初步
|
1天前
|
编译器 C++
C++练级之路——类和对象(中二)
C++练级之路——类和对象(中二)
11 5