读取字符串和整数

Mar*_*jus 4 c++

我想要做的是从文本文件中读取一行,其中包含一个长度<= 20且两个整数的双字符串,例如它可能如下所示:

Name Surname 1 14
Run Code Online (Sandbox Code Playgroud)

我知道如果我读取字符串,字符串将是所有字符,直到空格,但getline()将整行读作字符串.那我怎么读这样的一行呢?有没有简单的方法,或者我将不得不使用正则表达式?

fpo*_*bin 6

也许...

#include <iostream>
#include <fstream>
#include <string>
using namespace std;

int main()
{
    ifstream file( "/home/facu/text.txt", ios::in );
    string part1, part2;
    int num1, num2;

    if( !file )
        cerr << "Cant open " << endl;

    while( file >> part1 >> part2 >> num1 >> num2 )
    {
        cout << part1 << " " << part2 << " " << num1
        << " " << num2 << endl;
    }

    file.close();
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

text.txt:

JONES JONES 12 14 
MICHAEL MICHAEL 12 100
DOE DOE 15 20
Run Code Online (Sandbox Code Playgroud)