C ++ fin.getline,多维数组资源?

时间:2012-02-03 21:06:59

标签: c++ arrays text-files getline

我的CS课..不能使用矢量!我到处搜索了一些关于如何从txt读取字符串到二维或三维数组的信息,我无法找到任何东西。我需要一些帮助。

阅读如下文本文件:

  • 德州的首都是什么?
  • 奥斯汀
  • 堪萨斯
  • 哈林亨
  • 杜邦
  • blankline
  • blankline
  • 缅因州的首都是什么?

所以它的块:1个问题4个答案,两个空行,重复。

我的数组存储50个问题,每个问题有5行

string questions[50][5];

我的函数将txt文件读入数组

void read_questions(string[], string[])
{
ifstream.fin;
fin.open("questions.txt")
while (!fin.eof{}}
fin.getline([i][j];
}

我知道我很远,但如果你能指点我参考,我会很感激。香港专业教育学院看了很多资源,搜索了很多次,但无法找到任何靠近我的实例。我问另一个网站,但他们一直告诉我使用矢量,但我们不能使用2d或3d数组

1 个答案:

答案 0 :(得分:0)

string questions[50][5];

该行声明了一个string s数组的数组。这是一个很好的开始。

要阅读每一行,您需要:

  • 读取单个字符串的函数
  • 读取五个字符串的循环,
  • 用50个五个字符串读取的循环

嵌套循环很简单:

for(int i = 0; i < 50; ++i)
  for(int j = 0; j < 5; ++j)
  {
    do some work here.
  }

选择输入功能也很简单。您需要使用std::getline(std::istream&, std::string&)