有这么一个文件,内容如下:
1
2
111
222
111
111111
22344
oaini
woain
sdjjj
woaini
怎么将其中的整数区分出来?
解决思路:
1、按行输入;
2、定义为string;
3、判断该string是否为整数;
4、存入vector;
5、输出。
整个过程,第三步是核心。
完整代码如下:
#include <string>
#include <iostream>
#include<fstream>
#include<algorithm>
#include<vector>
using namespace std;
int ismun(string strinfo)
{
string strset="1234567890";
int first = strinfo.find_first_of(strset);
if(first == string::npos)
{
return -1;
}
return 0;
}
int main(){
ifstream in("proc.txt");
string strtemp;
vector<string> myvector;
while(getline(in,strtemp,'\n'))
{
if(ismun(strtemp) == 0)
{
myvector.push_back(strtemp);
}
}
vector<string>::iterator it;
for(it = myvector.begin();it != myvector.end();it ++)
{
cout<<*it<<endl;
}
return 0;
}
函数介绍:
find_first_of()函数介绍:
find_first_of
语法: size_type find_first_of( const basic_string &str, size_type index = 0 );
size_type find_first_of( const char *str, size_type index = 0 );
size_type find_first_of( const char *str, size_type index, size_type num );
size_type find_first_of( char ch, size_type index = 0 );
find_first_of()函数:
查找在字符串中第一个与str中的某个字符匹配的字符,返回它的位置。搜索从index开始,如果没找到就返回string::npos
查找在字符串中第一个与str中的某个字符匹配的字符,返回它的位置。搜索从index开始,最多搜索num个字符。如果没找到就返回string::npos,
查找在字符串中第一个与ch匹配的字符,返回它的位置。搜索从index开始。
分享到:
相关推荐
在C++编程中,`string`是STL(Standard Template Library,标准模板库)中的一个非常重要的组件,它为字符串操作提供了丰富的功能。对于初学者而言,掌握如何利用`string`进行数字处理是一项基本而重要的技能。本文...
在C++编程语言中,STL(Standard Template Library,标准模板库)是不可或缺的一部分,它提供了许多高效且灵活的数据结构和算法。其中,`std::string`类是处理字符串的重要工具,尤其在处理文本数据时非常实用。这篇...
2. **利用C++11以来的模板函数`std::to_string`**:这个函数可以直接将基本数据类型(如整型、浮点型)转换为`std::string`。对于更复杂的格式化需求,可以结合`std::stringstream`或者自定义函数来实现。 自定义`...
"STL容器:string容器" STL容器是C++标准模板库(Standard Template Library)中的一部分,提供了一系列的容器类来存储和管理数据。STL容器可以分为两大类:序列式容器和关联式容器。 序列式容器的特点是强调值的...
在C++实现STL reader时,可以使用标准模板库(Standard Template Library, STL)中的容器,如`std::vector`来存储顶点和法线信息,利用`std::ifstream`进行文件流操作,以及`std::string`处理文本数据。同时,为了...
- 可能的转换过程包括除基数取余,然后将余数压入堆栈,重复这一过程直到原数字为零。 - 最后,从堆栈中弹出所有元素,按顺序输出,得到目标进制下的表示。 这些代码示例展示了STL在处理各种数据结构和算法时的...
1. 一个4个字节的无符号整数,表示该面片的属性,通常设置为0。 2. 三个12字节的浮点数,分别代表法向量的x、y、z坐标。 3. 接下来是三个这样的三元组:每个三元组包含三个12字节的浮点数,分别表示三角面片的三个...
反之,使用`std::to_string`函数可以将数字转换为字符串: ```cpp int num = 123; std::string str = std::to_string(num); ``` 现在,让我们来谈谈STL容器。STL提供了多种容器,包括`vector`、`list`、`deque`、`...
C++模板和STL库是C++编程语言中的两个核心特性,它们极大地提高了代码的复用性和效率。本文将深入探讨这两个主题,并提供丰富的实践应用...在实际项目中,合理利用模板和STL可以显著提高代码的可读性、可维护性和性能。
值得注意的是,vector和string是少数几个支持迭代器加上整数这种操作的STL容器。 接着,set是一个内部自动排序且不包含重复元素的集合容器。它提供了一种快速检查一个元素是否存在于集合中的方法。set的迭代器仅...
在给定的文件中,主要讨论了如何巧妙地利用STL来处理字符串操作,如转换大小写、修剪空白、删除特定字符、替换子串以及检查字符串是否以指定子串开头或结尾。下面将详细解释这些知识点: 1. **转换大小写**: 在...
// 检查队列是否为空 if (q.empty()) { std::cout 队列为空" ; } else { std::cout 队列不为空" ; } ``` ##### 优先队列 优先队列是一种特殊的队列,其中的元素具有一定的优先级。默认情况下,优先队列遵循最大...
本文将总结C++ STL中的主要容器和算法,包括vector、deque、list、set、map、queue、stack和string等。 Vector容器 Vector容器是C++ STL中最常用的容器之一,用于存储同类型的元素。Vector容器提供了多种构造函数...
- `empty()`:检查`map`是否为空。 - `clear()`:删除`map`中的所有元素。 - `lower_bound(key)`和`upper_bound(key)`:返回键大于等于和大于给定键的第一个元素的迭代器,常用于范围查找。 ### 8. `multimap` 与`...
STL,全称为Standard Template Library,是C++标准库的一部分,提供了一系列高效、灵活的容器、迭代器、算法等工具,极大地增强了C++的编程效率。在这个范例大全中,我们将探讨几个重要的STL组件,包括容器、迭代器...
- `empty()`:检查容器是否为空。 - `size()`:返回容器内元素的数量。 - `count(k)`:返回键值等于k的元素数量。 - `find(k)`:查找键值等于k的元素,返回迭代器,若不存在则返回`end()`。 - `insert(x)`:插入元素...
**STL(Standard Template Library,标准模板库)**是C++编程语言中不可或缺的一部分,它为程序员提供了高效、可重用的数据结构和算法。STL的主要目标是提高代码的效率和可读性,通过使用泛型编程(Generic ...
修改STL的排序准则 STL(Standard Template Library)中,set和map都是自动排序的,但是如何修改其排序准则呢?本文将对STL中的set和map进行详细的讲解,并提供修改排序准则的思路和实现代码。 一、STL中的set和...
例如,`map<string, int>`可以用来创建一个字符串到整数的映射。 5. **vector**: `vector`是动态数组容器,支持随机访问。它可以容纳任何类型的对象,并且在需要时自动扩展。常用操作包括`push_back`在末尾添加元素...