C++ fseek 相对移动和绝对移动

   2024-10-06 8890
核心提示:在C++中,fseek函数用于在文件中定位指针的位置。fseek函数有两种模式:相对移动和绝对移动。相对移动:相对移动是指根据当前位

在C++中,fseek函数用于在文件中定位指针的位置。fseek函数有两种模式:相对移动和绝对移动。

相对移动:相对移动是指根据当前位置来移动文件指针。相对移动模式有三种:SEEK_CUR、SEEK_SET、SEEK_END。

SEEK_CUR:从当前位置开始移动。如果offset为正数,则向文件末尾移动;如果offset为负数,则向文件开始移动。SEEK_SET:从文件起始位置开始移动。如果offset为正数,则移动到文件指定位置;如果offset为负数,则移动到文件开始位置。SEEK_END:从文件末尾开始移动。如果offset为正数,则向文件末尾移动;如果offset为负数,则向文件开始移动。

绝对移动:绝对移动是指直接移动文件指针到指定的位置。在绝对移动模式下,offset表示文件指针要移动到的位置。

示例代码:

#include <iostream>#include <cstdio>int main() {    FILE *fp = fopen("test.txt", "r");    if (fp == NULL) {        std::cout << "Error opening file\n";        return 1;    }    // 相对移动    fseek(fp, 10, SEEK_SET); // 从文件起始位置移动到第10个字节处    fseek(fp, -5, SEEK_CUR); // 从当前位置向前移动5个字节    fseek(fp, 0, SEEK_END);  // 移动到文件末尾    // 绝对移动    fseek(fp, 20, SEEK_SET); // 移动文件指针到第20个字节处    fclose(fp);    return 0;}

在上面的示例中,我们展示了如何使用fseek函数在文件中进行相对移动和绝对移动。根据不同的SEEK_模式,我们可以灵活地控制文件指针的移动操作。

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

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