我想要做的是从文本文件中读取一行,其中包含一个长度<= 20且两个整数的双字符串,例如它可能如下所示:
Name Surname 1 14
Run Code Online (Sandbox Code Playgroud)
我知道如果我读取字符串,字符串将是所有字符,直到空格,但getline()将整行读作字符串.那我怎么读这样的一行呢?有没有简单的方法,或者我将不得不使用正则表达式?
也许...
#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)