【发布时间】:2021-06-09 05:31:03
【问题描述】:
我目前正在编写一个程序来从一个大的 .csv 文件中读取数据,并想知道使用之间是否有任何区别:
ifstream handle("filename");
和
ifstream handle;
archivo.open("filename", ios::in);
打开文件时。 到目前为止,我都尝试过,两者都在读取数据,然后将其存储在 STL 容器中。我想知道在使用、效率和/或内存使用方面是否有任何具体差异。 提前致谢!
【问题讨论】:
-
您打开一个大的 .csv 文件一次。为什么你关心打开这个文件的时间而不是有效的多次阅读?
-
实际上(假设您在第二个中指的是
handle.open(....),而不是archivo.open(...))没有区别。如果任一 sn-p 成功,则流是打开的并且可以在后续代码中读取,并且在“效率”(无论您如何衡量)或内存使用方面不太可能有任何差异。唯一的区别是,在第二种情况下,可以在创建和打开流之间采取额外的行动——这并没有太大的作用,因为通过使用适当的方法无法实现的方式并不多。构造函数。
标签: c++ std fstream ifstream text-parsing