C++ - 从字符串中提取数字

标签 c++ string

<分区>

假设我们在 C++ 中有一个 C 风格的字符串,格式为 [4 letters] [number] [number] ...。例如,字符串可能如下所示:

   abcd 1234    -6242          1212

应该注意的是字符串应该有太多的空格(如上所示)。

我如何提取这三个数字并将它们存储在数组中?

最佳答案

stringstreams 的工作,实时查看: http://ideone.com/e8GjMg

#include <sstream>
#include <iostream>

int main()
{
    std::istringstream iss(" abcd 1234    -6242          1212");

    std::string s;
    int a, b, c;

    iss >> s >> a >> b >> c;

    std::cout << s << " " << a << " " << b << " " << c << std::endl;
}

打印

abcd 1234 -6242 1212

关于C++ - 从字符串中提取数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17042710/

相关文章:

python - 包含单词列表的列的单词得分总和

java - 将字符串数组转换为 double 组

c++ - Qt- Qlist 检查包含自定义类

c++ - OpenCV C++ 如何知道每行排序的轮廓数?

c++ - 如何用 gcc 或 clang 模拟 _mm256_loadu_epi32?

c++ - C++ 的基本自定义字符串类

c++ - 如何存储数据/我们如何获取存储在 unordered_map c++​​11 中存储桶中的数据

c++ - 在 Ubuntu 13.04 上构建 thrift 0.9.1 时出现 libtool 错误

java - 如何从 Java 中的字符串/文件名中提取数字?

java - 使用正则表达式提取子字符串不起作用