动态长度字符串数组

问题描述:

我是C++的新手。 我想编写一个程序以从文件这在格式具有数据读出的值:动态长度字符串数组

text<tab or space>text 
text<tab or space>text 
... 

(...表示多个这样的线)

线在文件的数目而变化。现在,我想读取此文件并将文本存储到1个2D字符串数组或2个1D字符串数组中。 我该怎么做?

此外,我想在这个数组上运行for循环来处理文件中的每个条目。我怎么写这个循环?

+2

你迄今所做研究什么来解决这个问题?你有没有搜索过这个网站?这是一个非常普遍的任务。 – mavam 2012-04-26 04:16:31

+0

在你开始研究Matthias所说的内容之前,你对这些数组实际做了什么?有时我们可能会忽视阵列及其有用性。 – CppLearner 2012-04-26 04:34:00

+0

当我写这个问题时,我看到了右侧出现的所有类似问题。而他们都没有解决我的问题。无论如何,我会尝试找到类似的问题。 – tumchaaditya 2012-04-26 04:46:47

您正在寻找一个可调整大小的阵列。尝试std::vector<string>。你可以找到文件here

编辑:你也许可以设法通过打开文件,循环计算文件的行数,生成固定大小的数组,关闭并重新打开文件,然后循环遍历文件来填充阵列。然而,这不被推荐,因为它会增加你的运行时复杂度,远远超过管理矢量所涉及的一小部分开销,并且它会让你的代码更难以理解读取它的任何人。

(PS - 我同意@马蒂亚斯 - 此Vallentin,你应该已经能够找到这个最小的工作在网站上)