首页 > 代码库 > 以Append方式打开文件,设置偏移量无效
以Append方式打开文件,设置偏移量无效
1 #include<stdio.h> 2 3 int main() 4 { 5 FILE * fd = fopen("btoo1.c", "ab+"); 6 fpos_t p ; 7 int fp = fgetpos(fd, &p); 8 printf("bef seek: fgetpos = %ld, ftell = %d\n", p, ftell(fd)); 9 fseek(fd, 12, SEEK_SET);10 fgetpos(fd, &p);11 printf("bef seek: fgetpos = %ld, ftell = %d\n", p, ftell(fd));12 fwrite("*****", 1, 5, fd);13 fclose(fd);14 return 0;15 }
测试代码如上。现象就是这样,原因未知。
解决方案:
设置临时文件,将偏移量前的内容先写到零时文件内,然后删源文件,再将零时文件重命名。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。