首页 > 其他 > 详细

fseek在 fopen 带有'a'模式下不起作用

时间:2020-09-16 21:22:59      阅读:61      评论:0      收藏:0      [点我收藏+]

关于 fseek 在 追加写模式的注意事项

结论:fseek在 fopen 带有‘a‘模式的文件指针偏移不起作用。

int main(int argc, char *argv[])
{
    FILE * fp = NULL;

    char buf[10] = {0};

    int size = 0;
    int i;

    for (i = 0; i < 10; ++i) {
        buf[i] = i + ‘a‘;
    }

    fp=fopen("test_file","ab+");

    if(!fp)
    {
        return 0;
    } 

    size = 10;
    fwrite(buf, sizeof(char), size, fp);
    fseek(fp, 0, SEEK_SET);
    fwrite(buf, sizeof(char), size, fp);


    fclose(fp);
    fp = NULL;
    return 0;
    return 0;
}

可以通过hexdump test_file -C获取结果。

$ hexdump aa -C
00000000  61 62 63 64 65 66 67 68  69 6a 61 62 63 64 65 66  |abcdefghijabcdef|
00000010  67 68 69 6a                                       |ghij|
00000014

fseek在 fopen 带有'a'模式下不起作用

原文:https://www.cnblogs.com/schips/p/13680809.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!