需要根据读取的数据类型将 ifstream 提取到单独的数组中

Need to extract ifstream into separate arrays based upon type of data read

这里是 C++ 菜鸟。我正在开发一个程序,该程序需要包括从输入流读取数据的能力,然后根据读取的数据类型(整数数组和字符串数组)将数据分成两个单独的数组。

输入文件中的数据以下列格式显示(行与行之间没有空格):

5000 Leather Seats

1000 DVD System

800 10 Speakers

etc.

我需要将价格(每行开头的数值)与每个描述(每行的其余内容)分开为两个单独的字符串(“价格”和“选项”)。有人能给我指出正确的方向,找到从每一行读取适当数据到其各自数组的最有效方法吗?

可能最简单的方法是使用 getline 将整行作为字符串获取,然后使用子字符串将其拆分,然后添加到数组中。例如:

string s;
getline(cin,s);
string price = s.substr(0, s.find(" "));
string type = s.substr(s.find(" ")+1, s.length());

将价格和类型添加到相应的数组。