我正在使用套接字编写客户机/服务器程序,并试图解析输入文件。我有一个结构,分别存储专业,早期职业薪资和中期职业生涯。客户端程序要求用户输入主程序的名称,服务器程序则返回这两种薪资。
输入文件的问题是:
地球物理学54100 122200
认知科学54000 121900
电力工程68600 119100
它们都被分隔为MajorTABPayTabPay,而专业在它们中也有空格。我想把它们都存储在结构里。
有什么解决方案吗?
发布于 2018-04-06 00:21:57
从以下几个方面开始:
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;
}
发布于 2018-04-05 19:35:36
您可以使用getline()
中的第三个参数来说明要停止的字符。默认情况下是\n
,但也可以指定是\t
让它停止在您想要的选项卡上:
getline(std::cin, line, '\t');
https://stackoverflow.com/questions/49680030
复制相似问题