【发布时间】:2012-10-13 16:39:05
【问题描述】:
我在一个介绍文件的教程中(如何从文件中读取和写入文件)
首先,这不是作业,这只是我寻求的一般帮助。
我知道如何一次读取一个单词,但我不知道如何一次读取一行,或者如何读取整个文本文件。
如果我的文件包含 1000 个单词怎么办?逐字阅读整个文件是不切实际的。
我的名为“Read”的文本文件包含以下内容:
I love to play games
I love reading
I have 2 books
这是我迄今为止所取得的成就:
#include <iostream>
#include <fstream>
using namespace std;
int main (){
ifstream inFile;
inFile.open("Read.txt");
inFile >>
有没有办法一次读取整个文件,而不是单独读取每一行或每个单词?
【问题讨论】:
-
逐字阅读只比逐行慢一点。如果您确实需要单词,那么最好阅读单词。如果您正在处理面向行的数据(例如 CSV 文件),请读取行。
-
@Arkadiy 不正确。对于 100 MiB 的文件,逐行读取很容易需要几秒钟,而一次读取 4 KiB 的块则不到一秒。
-
@Vallentin:鉴于流都被缓冲,实际的磁盘读取已经逐块完成。剩下的只是在内存中操作数据。
标签: c++ iostream fstream file-handling