初学者:从文件读入并使用istringstream

时间:2015-01-20 00:50:24

标签: c++ istringstream

之前我从未使用过istringstream。我之前只有1个分隔符的分割线,所以我不知道如何使用istringstream。我从一个看起来像这样的文件中拆分行:

表,通缉,100

汽车,待售,5000

我需要拆分字符串然后创建一个结构数组。我已经设置了一个结构,我只是不知道如何拆分字符串。我的结构被称为项目,并具有类型:字符串类型,布尔销售,双倍价格。出售,我希望它说1如果它是出售和0如果它是想要的。 基本上,我想拆分它,以便我可以创建新的变量,类型,销售和价格,然后在我的项目结构中创建一个newItem {type,sale,price}并从那里开始。代码示例非常有用。非常感谢。

1 个答案:

答案 0 :(得分:1)

使用分隔符分割字符串的简单方法是使用std::getline

std::string line = "Table, Wanted, 100"; // Let's say you have read a line from file.
std::istringstream input{line};          // Create an input stream from string.

// Read all characters up until the delimiter ',' on each iteration.
for (std::string token; std::getline(input, token, ',');) {
    /* Do something with each token... */
}

Live example