文件的读写使用,重定向,文件描述符

调用系统函数进行文件的读写

打开文件:
int open(const char* pathname,int flags);
int open(const char* pathname,int flags,mode_t mode); //mode:当打开的文件不存在时,就要在打开文件的同时并创建文件,那么就需要设定文件的权限.
flags:打开文件的选项:若同时需要多种操作时,就可以将多个选项进行或运算.
O_WRONLY:只写打开
O_RDONLY:只读打开
O_RDWR:读写打开
O_CREAT:创建
写文件:
ssize_t write(int fd, const void *buf, size_t count);
若写入成功,返回写入的字节数.
若失败,返回-1.
返回0:对于普通文件没什么影响,而对于特殊文件有影响.
读文件:
ssize_t read(int fd, void *buf, size_t count);
若返回值大于零表示读取成功,并且返回值就是读取的字节数.
若返回值等于0,表示文件已经读完(当读一个空文件时就会返回0).
若返回值小于0,表示文件读失败.

下面是一个简单的例子:先写入文件,再从文件中读取.

  1 #include<stdio.h>                                                                                                      
  2 #include<unistd.h>
  3 #include<sys/types.h>
  4 #include<sys/stat.h>
  5 #include<fcntl.h>
  6 #include<string.h>
  7 
  8 int main()
  9 {
 10     int fd = open("text.txt",O_WRONLY|O_CREAT,0666);  
 11     if(fd == -1)
 12     {
 13         perror("open");
 14         return 1;
 15     }
 16     const char* str = "You are breautiful.\n";
 17     int count = 5;
 18     while(count--)
 19     {
 20         write(fd,str,strlen(str));
 21     }
 22     close(fd);
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值