在 C 中读取行和文件
正如您在查询中提到的,逐行或整个读取文件比逐字处理它们,特别是对于大文件。以下是如何实现这两种情况的详细说明:
逐行读取:
要逐行读取文件,您可以使用 std::getline功能。下面是一个示例:
#include <fstream> #include <string> int main() { std::ifstream file("Read.txt"); std::string line; while (std::getline(file, line)) { // Process each line here } }
此代码片段打开名为“Read.txt”的文件并读取存储在行字符串中的每一行。然后,您可以根据需要处理各个行。
一次读取整个文件:
要一次读取整个文件内容,您可以将各行连接到单个字符串。下面是之前代码的修改版本:
std::ifstream file("Read.txt"); std::string line; std::string file_contents; while (std::getline(file, line)) { file_contents += line; file_contents.push_back('\n'); }
此代码读取每一行并将其附加到 file_contents 字符串,包括一个换行符以保留原始换行符。最终的 file_contents 字符串将包含整个文件内容。
注意,一般建议使用 ifstream 构造函数以文件名打开文件,而不是使用 open 方法,并依赖析构函数自动关闭文件。
以上是如何在 C 语言中有效地读取行和整个文件?的详细内容。更多信息请关注PHP中文网其他相关文章!