C++从文件中读取信息并从该信息构建二维向量



文本文件的格式如下所示:

2

列 2 行 全部 * go(像这样还有四行)

对于每一行文本,我需要根据文本行中给出的信息构建一个 2D 向量并输出到控制台。例如,第一行文本的输出如下所示:

**

**

我可以将信息读入我的程序;但是,我不知道如何进一步。如何对信息进行分类,以便程序知道向量需要有 2 列和 2 行?

任何提示或帮助将不胜感激。

谢谢!

似乎您需要解析输入并从中获取信息。现在,有这样的库,比如 boost::spirit,但如果你只需要这个简单的案例,那么就没有必要只为一个案例使用这么大的库。

我建议将输入字符串简单地拆分为单词,如下所示:

string input = "2 columns 2 rows all * go"; // Read it from some input
istringstream iss(input);
vector<string> tokens;
copy(istream_iterator<string>(iss),
     istream_iterator<string>(),
     back_inserter<vector<string> >(tokens));

那么tokens就是你的话。因此,如果您期望第一个单词用于列,第三个单词用于行,那么您可以执行以下操作:

int columns = atoi(tokens[0].c_str());
int rows = atoi(tokens[2].c_str());

我想你可以弄清楚其余的。

希望这有帮助。

最新更新