C++:按制表符拆分字符串,但包含空格

标签 c++ string sockets parsing client-server

我正在开发一个使用套接字的客户端/服务器程序,我正在尝试解析输入文件。我有一个结构来分别存储专业、早期职业薪酬和职业中期。客户端程序要求用户输入专业名称,服务器程序返回薪水。

输入文件的问题是这样的:

地球物理学 54100 122200

认知科学 54000 121900

电力工程 68600 119100

都是用Major[TAB]Pay[Tab]Pay分隔的,major里面有空格。我想将它们中的每一个都存储在结构中。

有什么解决办法吗?

最佳答案

从这样的事情开始:

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;
}

关于C++:按制表符拆分字符串,但包含空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49680030/

相关文章:

c++ - Boost 数值常量优点

Java DatagramSocket 无法接收所有数据包

c++ - 做组合时被零除

java - 使用 pdfbox 从输出文本中删除新行

c++ - 超出范围后传递给构造函数的值发生了什么?

c - 如何在C中仅通过字母比较包含数字的字符串

mysql - Ubuntu:无法通过套接字 '/var/run/mysqld/mysqld.sock' 连接到本地 MySQL 服务器 (2)

c - glibc 的套接字实现在哪里?

c++ - 使用具有不同编译器版本的 C++ DLL

c++ - 将 QRegExValidator 用于 QLineEdit