我想从头开始逐行读取文件。我查看了一个像fgets这样的c ++函数,但正在反向读取文件。
答案 0 :(得分:7)
除非文件真的大,否则只需将整个文件读入std::vector<std::string>
,然后使用reverse_iterator
获取的std::vector<>::rbegin()
答案 1 :(得分:1)
不幸的是,我不知道任何反向读取的内置函数。一种选择是使用fseek, fread and ftell
您可以使用ftell, fseek
函数来覆盖最后一个字符,然后使用前一个字符。
答案 2 :(得分:0)
如果文件大小很小,请使用MSalters回答。
如果文件很大,则必须使用iostream::seekg
函数手动执行filepointer book。算法类似于: