文件io cpy

这篇文章展示了C语言中的文件I/O操作,包括使用`fopen`打开文件、`fwrite`和`read`进行数据读写、以及`my_read`函数的实现。还演示了如何创建、复制文件并处理可能出现的错误。
摘要由CSDN通过智能技术生成
#include<stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include<unistd.h>


int my_read(FILE*fp)//作业一
{
    if(NULL==fp)
    {
        perror("err:");
        return -1;
    }
    char str;
    while(sizeof(str)==fread(&str,1,sizeof(str),fp))
    {
        printf("%c",str);
    }

}

int main(int argc, const char *argv[])
{
/*  FILE*fp=fopen("./one.c","r");

    my_read(fp);

    if(fclose(fp)==EOF)
    {
        perror("eer1:");
        return-1;
    }*/

    int fp2=open("hw.txt",O_RDWR|O_CREAT|O_TRUNC,0777);
    if(fp2<0)
    {
        perror("err2:");
        return -1;
    }
    char strr[20]="hello world";
    if(write(fp2,strr,sizeof(strr))<0)
    {
        perror("err_wirt");
    }

    close(fp2);
    int fp3=open("hw.txt",O_RDWR);
    int cpy=open("my_cpy.txt",O_RDWR|O_CREAT|O_TRUNC,0777);


    char c;
    ssize_t num;
    while(1)
    {
        num=read(fp3,&c,1);
        write(cpy,&c,sizeof(c));
        printf("%c",c);

        if(num==0)
        {
            printf("输出完成\n");
            break;
        }
        if(num<0)
        {
            perror("ree_read");
            break;
        }

}
    if(close(fp3)<0)
{
    perror("close");
    return -1;
}
close(cpy);


                                                                                      

    return 0;
}
                                                                                      
                                                                                      

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值