read/write

/*
    #include <unistd.h>

    ssize_t read(int fd, void *buf, size_t count);
    参数:
    -fd:文件描述符,open()得到,通过这文件描述符操作某个文件
    -buf:需要读取数据存放的地方,数组的地址
    -count:指定的数组的大小

    返回值:
    -成功:
     >0:返回实际的读取到的字节数
     =0:文件已经到达末尾
    -失败:-1 并且设置errno

    #include <unistd.h>
    ssize_t write(int fd, const void *buf, size_t count);
    参数:
    - fd:文件描述符,open得到
    - buf:要向磁盘写入的数据
    - count: 要写的数据的实际的大小
    返回值:
    成功:写入的字节数
    失败:-1 并且设置errno
*/
#include <unistd.h>
#include<stdio.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>

int main()
{
    //通过open打开文件
    int srcfd=open("english.txt",O_RDONLY);
    if(srcfd==-1)
    {
        perror("open");
        return -1;
    }
    //创建文件
    int destfd=open("cpy.txt",O_WRONLY|O_CREAT,0664);
    if(destfd==-1)
    {
        perror("open");
        return -1;
    }
    //频繁读写文件
    char buf[1024]={0};
    int len=0;
    while (len=read(srcfd,buf,sizeof(buf))>0)
    {
        write(destfd,buf,len);
    }
    
    //关闭文件
    close(destfd);
    close(srcfd);
}
posted @   小秦同学在上学  阅读(9)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示