温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

[Linux文件]使用lseek函数的偏移量来分次写入数据的实例

发布时间:2020-07-24 01:41:21 来源:网络 阅读:706 作者:银河星君 栏目:编程语言
 //这是一个使用lseek在一个文件中连续写入字符串的应用
 #include <fcntl.h>
 #include <stdio.h>
 #include <string.h>
 int main(int argc,char *argv[])
 {
   int temp,seektemp,i,j;
   int fd;                                    //文件描述符
   char writebuf[17] = "this is a test!\n";   //字符串最后加上回车换行
   if(argc!= 2)                               //如果参数错误
   {
   	 printf("Plz input the corrcet file name as './exam309lseekFun filename string'!\n");
   	 return 1;					//如果参数不正确则退出
   }
   fd = open(*(argv+1),O_RDWR|O_CREAT,S_IRWXU); //打开文件如果没有则创建
   temp = write(fd,writebuf,sizeof(writebuf));	//写入数据
   seektemp = lseek(fd,0,SEEK_CUR);             //获得当前的偏移量  
   for(i=0;i<10;i++)                            //连续写入10个字符串
   {
     j = sizeof(writebuf) * (i+1);             //计算下一次的偏移量
     seektemp = lseek(fd,j,SEEK_SET);
     temp = write(fd,writebuf,strlen(writebuf));   //写入数据
   }
   close(fd);                              //关闭文件
   return 0;
 }


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI