【问题标题】:Need to extract ifstream into separate arrays based upon type of data read需要根据读取的数据类型将 ifstream 提取到单独的数组中
【发布时间】:2018-04-02 04:49:09
【问题描述】:

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

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

5000 个真皮座椅

1000 DVD 系统

800 10 个扬声器

等等

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

【问题讨论】:

标签: c++ string-parsing


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-24
    相关资源
    最近更新 更多