C++ 读取整个文本文件

标签 c++ visual-c++ text-files

我试着用这段代码用vc++读取整个文本文件

ifstream file (filePath, ios::in|ios::binary|ios::ate);
    if (file.is_open())
    {
        size = (long)file.tellg();
        char *contents = new char [size];
        file.seekg (0, ios::beg);
        file.read (contents, size);
        file.close();
        isInCharString("eat",contents);

        delete [] contents;
    }

但它不是获取所有整个文件,为什么以及如何处理这个?

注意:文件大小为 1.87 MB 和 39854 行

最佳答案

您缺少以下行

file.seekg (0, file.end);

之前:

size = file.tellg();
file.seekg (0, file.beg);

如本例所述:http://www.cplusplus.com/reference/istream/istream/read/

关于C++ 读取整个文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15547645/

相关文章:

在 Dreamweaver 中比较两个文件的内容

java - 用户单击按钮时在虚拟表中显示文本文件的内容

c++ - vector 的排序

multithreading - 代替hash_map使用的数据结构

c# - 关于ftps服务器的问题

c# - 派生DataGridView绘图问题。显示黑色区域

java - 如何在eclipse中获取conf.txt路径

c++ - 如何在数组中显示二叉搜索树结果?

c++ - 如何在 mac 中使用 gcc 链接到 carbon?

c++ - 为什么我的 Allegro 5 map 编辑器这么慢?我可以改变什么来让它更快?