我需要使用结构数据结构将数据从.txt文件读取到C ++中。我可以做的很好;但是,如果我不知道所需的数据结构的初始大小,那我该怎么办? 例如,如果您有20条数据,通常需要定义“ Points [20]”之类的结构。 那么,有没有办法将任意大小的.txt文件读入struct数据结构中? 我浏览了该网站,但找不到与我类似的任何问题。
答案 0 :(得分:0)
我认为这个问题有一些错误的假设。最好有一个更具体的示例,并尝试删除代码以确保解决OP的问题。
但是,我可以回答:
例如:
我可以说我将创建一个包含以下内容的文件
然后,我可以轻松创建一个解析方法,将它们填充到char的std :: vector或无符号的std :: vector或其他动态大小调整容器中。
我可能会或可能不会创建一个包装向量和Parse方法的结构。
当然没有一种处理方法,但是这里的要点是您正在寻找动态大小的容器
答案 1 :(得分:0)
如果不知道文本文件的结构,只能给出一般的答案。
CSV文件
许多文本文件被组织为列(字段)和行(记录)。这些列由逗号,制表符,竖线或其他分隔的字符分隔。 StackOverflow上的重复项太多,因此请在Internet上搜索“ C ++读取CSV”。
HTML和XML
一些文本文件具有像树结构一样的组织数据,并带有记录记录。示例是HTML和XML。使用库来阅读这些内容。
在线裁判
这些文本文件包含有关编程问题的数据。通常,他们在测试用例的数量上排一行,然后是每个测试用例的数据。数据的组织是特定于问题的。
其他
文本文件可以具有任意格式的数据。您需要联系布局数据的生产者。
动态数据量
在许多情况下,编译时不知道数据记录的数量。您需要一个动态尺寸的容器,例如std::vector, std::list, std::map,
等。