linux编程-文件操作(1)

文件读写文件

#include <stdio.h>

#include <unistd.h>

#include <stdlib.h>

#include <string.h>

#include <fcntl.h>

/*

 *STDIN_FILENO   0  标准输入

 *STDOUT_FILENO  1  标准输出

 *STDERR_FILENO  2  标准错误输出

 */

int main(void)

{

         intfdLog = -1;

         if((fdLog = open("./log.txt", O_RDWR|O_CREAT|O_TRUNC|O_SYNC,S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH)) < 0)

         {

                   printf("OpenFile failed:%s", "./log.txt");

                   return0;

         }

         /*creat以只写方式创建打开文件

          * 等价于open(filename,O_WRONLY|O_CREAT|O_TRUNC, mode);

          */

 

         if(lseek(fdLog, 0, SEEK_CUR) == -1)

         {

           printf("cannot seek\n");

           close(fdLog);

           fdLog = -1;

           return 0;

         }

         else

         {

           printf("seek OK\n");

         }

 

         charszBuf[] = "helloworld";

         intnWrite = write(fdLog, szBuf, strlen(szBuf));

         if(nWrite < 0)

         {

                   printf("writefile failed\n");

                   close(fdLog);

                   fdLog= -1;

                   return0;

         }

 

         printf("writedata:%s\n", szBuf);

 

 

         if(lseek(fdLog, 0, SEEK_SET) == -1)

         {

                   printf("ResetReader Failed\n");

                   close(fdLog);

                   fdLog= -1;

         }

         else

         {

                  printf("reset reader OK\n");

         }

 

         charszBuf2[100] = {0};

         intnRead = read(fdLog, szBuf2, 100);

   if (nRead < 0)

         {

                   printf("readfile Error\n");

                   close(fdLog);

                   fdLog= -1;

                   return0;

         }

 

         if(0 == nRead)

         {

                   printf("readNo Data\n");

         }

         else

         {

                   printf("readData:%s\n", szBuf2);

         }

         close(fdLog);

         fdLog= -1;

        

         return0;

}

 

执行结果:


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值