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

use*_*000 9 c++ string

假设我们在格式中使用C++中的C样式字符串[4 letters] [number] [number] ....例如,字符串可能如下所示:

   abcd 1234    -6242          1212
Run Code Online (Sandbox Code Playgroud)

应该注意的是,字符串预计会有太多的空白(如上所示).

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

seh*_*ehe 14

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;
}
Run Code Online (Sandbox Code Playgroud)

打印

abcd 1234 -6242 1212
Run Code Online (Sandbox Code Playgroud)

  • @phresnel嗯,你知道......我在这里并不陌生.有些人学习任何一种方式.我可以向你保证:(a)渴望学习者***将从这个答案中获得重要指示(b)那些不会,也不会从_educational_答案"得到"的人.简而言之,Stackoverflow不适用于教科书辅导.这是关于志愿者解决其他程序员/分享经验的问题._如果不是你的一杯茶,请随意忽略问题和答案.谢谢 (6认同)