我正在使用套接字处理客户端/服务器程序,我正在尝试解析输入文件。我有一个结构来存储专业,早期职业薪酬和职业生涯中期。客户端程序要求用户输入主要名称,服务器程序返回两个工资。
输入文件的问题是:
地球物理学54100 122200
认知科学54000 121900
电力工程68600 119100
它们全部被分隔为Major [TAB] Pay [Tab] Pay,并且大满贯中有空格。我想将它们存储在结构中。
对此有何解决方法?
答案 0 :(得分:1)
您可以使用getline()
中的第三个参数来说明要停止的字符。默认值为\n
,但您也可以指定\t
将其停在所需的标签处:
getline(std::cin, line, '\t');
答案 1 :(得分:0)
从这个开头:
ifstream f("c:\\temp\\test.txt");
string s;
while (getline(f, s))
{
istringstream iss(s);
string major, early, mid;
getline(iss, major, '\t');
getline(iss, early, '\t');
getline(iss, mid, '\t');
cout << major << '|'
<< early << '|'
<< mid << endl;
}