3

我正在为我正在学习的课程解决一个问题,我们需要将文本从文件读取到字符串的二维表(称为“字符串表 [] []”)。我正在阅读的文本文件格式如下:

Ain el Beida # - # - # OEB # 阿尔及利亚 # 非洲 # F # 42578 # 61997 # 90560 # #

Segbana # - # - # ALI # 贝宁 # 非洲 # F # -1 # 10219 # -1 # #

Skelmersdale # - # - # LAN # England # Europe # F # 42611 # 42104 # 39279 # #

#

如您所见,每个字段由'#'分隔,行尾由2个#表示,文件末尾由3个#表示。我一直在研究隔离每个字段的几种不同方法,以便将其保存到数组中,但到目前为止还没有找到任何适合我的目的的方法。

几个小时以来,我一直在努力解决这个问题,我非常感谢任何关于如何让它发挥作用的建议。

4

1 回答 1

3

考虑使用std::getline,因为它允许您指定分隔符(在您的情况下,分隔符是#)。

std::ifstream file("somefile.txt");
std::string field1;
std::getline(file, field1, '#'); // Ain el Beida

请注意,虽然每个字段实际上由空格和 a 分隔#,因此在某些情况下您将有前导/尾随空格。

既然是上课,剩下的就交给你吧!

于 2011-09-25T04:25:47.500 回答