我是靠谱客的博主 高贵月光,最近开发中收集的这篇文章主要介绍Linux系统下文件的拷贝/复制——fgetc/fputc、fgets/fputs、fread/fwrite、read/write的用法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、fgetc/fpuc

提前创建a.txt文件输入"hello world"

利用fputc和fgetc拷贝文件a.txt("r"表示读)

#include <stdio.h>
int main(int argc, char const *argv[])
{
    FILE *fp = NULL;
    FILE *tp = NULL;
    char ch ={0};
    fp =fopen("a.txt","r");
    tp = fopen("b.txt","w");
    if(NULL == fp || NULL ==tp )
    {
        perror("fail to open");
        return  -1;
    }
    while(1)
    {
        ch = getc(fp);
        if ( EOF == ch)
        {
            break;
        }
        putc(ch,tp);
    }
    fclose(fp);
    fclose(tp);
    return 0;
}

用"w"写读的方式获得b.txt

二、fgets/fpus

提前创建a.txt文件输入"how are you I am fine"

#include <stdio.h>
int main(int argc, char const *argv[])
{
    FILE *fp = NULL;
    FILE *tp = NULL;
    char ch[32] = {0};
    char *p = NULL;
    fp = fopen("a.txt","r");
    tp = fopen("c.txt","w");
    if( NULL== fp || NULL == tp)
    {
        perror("fail to open");
        return -1;
    }
    while(1)
    {
       p  = fgets(ch,sizeof(ch),fp);
        if(NULL == p)
        {
            break;
        }
        fputs(p,tp);
    }
    fclose(fp);
    fclose(tp);
    return 0;
}

用"w"写读的方式获得c.txt

三、fread/fwrite

提前创建a.txt文件输入"what are you do"

利用fread和fwrite拷贝文件a.txt("r"表示读)

#include <stdio.h>
int main(int argc, char const *argv[])
{
    FILE *fp = NULL;
    FILE *tp = NULL;
    char ch[32]={0};
    size_t x = 0 ;
    fp =fopen ("a.txt","r");
    tp = fopen("d.txt","w");
    if( NULL == fp || NULL == tp)
    {
        perror("fail to open");
        return  -1 ;
    }
    while(1)
    {
        x = fread(ch,1,sizeof(ch),fp);
        if( 0 == x)
        {
            break;
        }
        fwrite(ch,1,x,tp);
    }
    fclose(fp);
    fclose(tp);
    return 0;
}

用"w"写读的方式获得d.txt

四、read/write

提前创建a.txt文件输入"nihaoya"

利用read和write拷贝文件a.txt("r"表示读)

#include <stdio.h>
#include <sys/types.h>
#include<sys/stat.h>
#include <unistd.h>
#include <fcntl.h>
int main(int argc, char const *argv[])
{
    int fp = 0; int tp = 0;
    char ch[7] = {0};
    size_t x;
    fp = open("a.txt",O_RDONLY);
    tp = open("e.txt",O_WRONLY | O_CREAT | O_TRUNC,0664);
    if( -1 == fp || -1 == tp)
    {
        perror("fail to open");
        return -1 ;
    }
    while(1)
    {
       x = read(fp,ch,sizeof(ch));
        if( 0 == x )
        {
            break;
        }
        write(tp,ch,sizeof(ch));
    }
    close(tp);
    close(fp);
    return 0;
}

用"w"写读的方式获得e.txt

最后

以上就是高贵月光为你收集整理的Linux系统下文件的拷贝/复制——fgetc/fputc、fgets/fputs、fread/fwrite、read/write的用法的全部内容,希望文章能够帮你解决Linux系统下文件的拷贝/复制——fgetc/fputc、fgets/fputs、fread/fwrite、read/write的用法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(39)

评论列表共有 0 条评论

立即
投稿
返回
顶部