将字符串解析为 int 的向量
parse string to vector of int
我有一个字符串,其中包含一些用空格分隔的整数。例如
string myString = "10 15 20 23";
我想将其转换为整数向量。所以在示例中,向量应该是相等的
vector<int> myNumbers = {10, 15, 20, 23};
我该怎么做?对不起,愚蠢的问题。
您可以使用
std::stringstream
.您需要#include <sstream>
除其他包含之外。
#include <sstream>
#include <vector>
#include <string>
std::string myString = "10 15 20 23";
std::stringstream iss( myString );
int number;
std::vector<int> myNumbers;
while ( iss >> number )
myNumbers.push_back( number );
std::string myString = "10 15 20 23";
std::istringstream is( myString );
std::vector<int> myNumbers( ( std::istream_iterator<int>( is ) ), ( std::istream_iterator<int>() ) );
或者代替最后一行,如果向量已经定义,那么
myNumbers.assign( std::istream_iterator<int>( is ), std::istream_iterator<int>() );
这几乎是现在另一个答案的重复。
#include <iostream>
#include <vector>
#include <iterator>
#include <sstream>
int main(int argc, char* argv[]) {
std::string s = "1 2 3 4 5";
std::istringstream iss(s);
std::vector<int> v{std::istream_iterator<int>(iss),
std::istream_iterator<int>()};
std::copy(v.begin(), v.end(), std::ostream_iterator<int>(std::cout, " "));
}
相关文章:
- 函数中的默认"常量<int>向量 &id"参数
- 将彼此平行的两个 int 向量的元素求和
- 向量的向量 int 向量
- 通过 fstream 函数初始化 int 向量??C++
- 如何调用一个函数,该函数用一个int向量取几个int
- 重载 C++ 运算符>>,以便我可以读取向量(向量<int>向量;
- 如何定义包含int向量的sruct的少算子
- 如何使用具有 pair<int,int 向量的元素unordered_set>
- OpenCV C++:从存储在 int 向量的索引中为垫子类型数据创建列范围
- 如何在不复制的情况下将只读向量传递给作为<int> pair<int,int>向量一部分的函数
- 在C++中,将两个长度相同的int向量转换为一个成对的int向量
- 使用int向量的向量对int向量进行基数排序
- 如何移除包含int向量的结构的向量
- 将一串数字解析为int向量的最快方法
- 删除c风格的int向量数组
- 从对象打印2D int向量
- 如何从文件中取出整数并将它们放入int向量中?
- 为什么 std::transform 不将 std::string 向量转换为无符号的 int 向量?
- 用C++11从点的向量中创建一个int向量
- 对已转换为字符串的int向量进行排序