-4

それぞれがスペースで区切られた 5 つの値の文字列があります。

std::string s = "123 123 123 123 123";

これらを 5 つの整数の配列に分割するにはどうすればよいですか?

4

2 に答える 2

9

std::stringstreamそのように使用します:

#include <sstream>
#include <string>

...

std::stringstream in(s);
std::vector<int> a;
int temp;
while(in >> temp) {
  a.push_back(temp);
}
于 2013-03-10T16:38:31.073 に答える
0

組み込みの配列が必要な場合は、これを試してください。ただしstd::vector、一般的なケースでは、前に提案したように、通常は を使用する方が適切です。すべてのスペース文字で文字列を分割したいと思います。

#include <sstream>
#include <string>
#include <iostream>

int main() {
    std::string s = "123 123 123 123 123";
    std::istringstream iss(s);

    int arr[5];
    for (auto& i : arr) {
        iss >> i;
    }
}
于 2013-03-10T16:41:19.423 に答える