C++ fseek 和ftell配合技巧

   2024-10-06 8960
核心提示:在C++中,可以使用fseek和ftell函数来控制文件指针的位置和获取当前文件指针的位置。下面是一个简单的示例代码,演示了如何使用f

在C++中,可以使用fseek和ftell函数来控制文件指针的位置和获取当前文件指针的位置。下面是一个简单的示例代码,演示了如何使用fseek和ftell函数来实现文件读写操作:

#include <iostream>#include <fstream>int main() {    std::ifstream inputFile("input.txt", std::ios::binary);        if (!inputFile.is_open()) {        std::cerr << "Error opening input file." << std::endl;        return 1;    }        // 获取文件大小    inputFile.seekg(0, std::ios::end);    int fileSize = inputFile.tellg();    inputFile.seekg(0, std::ios::beg);        // 读取文件内容    char* buffer = new char[fileSize];    inputFile.read(buffer, fileSize);        // 输出文件内容    std::cout.write(buffer, fileSize);        delete[] buffer;    inputFile.close();        return 0;}

在上面的示例中,首先打开一个二进制文件并通过seekg函数定位到文件末尾,然后通过tellg函数获取文件大小,再通过seekg函数回到文件开头。接着根据文件大小来动态分配一个char数组,使用read函数读取文件内容到数组中,最后使用write函数输出文件内容。最后别忘了关闭文件和释放内存。

通过这种方式,可以实现对文件的读取和写入操作,并且利用fseek和ftell函数可以更灵活地控制文件指针的位置。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式 | 网站留言    |  赣ICP备2021007278号