首页 > 其他分享 >用fscanf\fprintf fgetc\fputc fgets\fputs实现文件拷贝。

用fscanf\fprintf fgetc\fputc fgets\fputs实现文件拷贝。

时间:2024-06-06 19:29:57浏览次数:20  
标签:fp fputc return fscanf fgetc res fp1 fopen buf

 1.fscanf\fprintf

#include <stdio.h> 
int main(int argc, const char *argv[])
{   
    FILE* fp = fopen("./1.c", "r");
    if(NULL == fp)
    {   
        perror("fopen");
        return -1;
    }

    FILE* fp1 = fopen("./2.c", "w+");
    if(NULL == fp1)
    {   
        perror("fopen1");
        return -1;
    }

    int res;
    char buf;
    while(1)
    {   
        res = fscanf(fp, "%c", &buf);
        if(EOF == res)
            break;
        fprintf(fp1,"%c", buf);
    }
    
    fclose(fp);
    fclose(fp1);
    
    return 0;
}                                         

2.fgetc\fputc

#include <stdio.h>
int main(int argc, const char *argv[])
{
    FILE* fp = fopen("./1.c", "r");
    if(NULL == fp)
    {
        perror("fopen");
        return -1;
    }

    FILE* fp1 = fopen("./2.c", "w+");
    if(NULL == fp1)
    {
        perror("fopen1");
        return -1;
    }

    int res;
    char buf;
    while(1)
    {
        res = fgetc(fp);
        if(EOF == res)
            break;
        fputc(res,fp1);
    }
                                                   
/*  while(1)
    {
        res = fscanf(fp, "%c", &buf);
        if(EOF == res)
            break;
        fprintf(fp1,"%c", buf);
        
    }
*/
    fclose(fp);
    fclose(fp1);

    return 0;
}

3.fgets\fputs

#include <stdio.h>
int main(int argc, const char *argv[])
{
    FILE* fp = fopen("./1.c", "r");
    if(NULL == fp)
    {
        perror("fopen");
        return -1;
    }

    FILE* fp1 = fopen("./2.c", "w+");
    if(NULL == fp1)
    {
        perror("fopen1");
        return -1;
    }

    int* res=NULL;
    char buf[100];
    while(1)
    {
        res = fgets(buf, sizeof(buf), fp);
        if(NULL == res)
            break;
        fputs(buf, fp1);
    }


/*  while(1)
    {
        res = fgetc(fp);
        if(EOF == res)
            break;
        fputc(res,fp1);
    }
        
    while(1)
    {
        res = fscanf(fp, "%c", &buf);
        if(EOF == res)
            break;
        fprintf(fp1,"%c", buf);
        
    }
*/
    fclose(fp);
    fclose(fp1);

    return 0;
}                                                        

标签:fp,fputc,return,fscanf,fgetc,res,fp1,fopen,buf
From: https://blog.csdn.net/qq_51852604/article/details/139508039

相关文章

  • 文件IO-fwrite-fread-fscanf-fflush
    fwrite把ptr所指向的数组中的数据写入到给定流stream中。size_tfwrite(constvoid*ptr,size_tsize,size_tnmemb,FILE*stream)参数ptr--这是指向要被写入的元素数组的指针。size--这是要被写入的每个元素的大小,以字节为单位。nmemb--这是元素的个数,每个元......
  • 【c&c++】C语言:fgets和fgetc函数读取文件
    C语言:fgets和fgetc函数读取文件1、fgetc是filegetchar的缩写,意思是从指定的文件中读取一个字符。fgetc()readsthenextcharacterfromstreamandreturns......
  • fprintf()\fscanf()\sprintf() 函数的灵活应用
     fprintf函数和fscanf函数调用方式:fprintf(文件结构指针,格式字符串,输出表列)fscanf(文件结构指针,格式字符串,输出表列) voidmain(){   FILE*pWrite,*pRead; ......
  • C语言:文件IO fprint()、fscanf()、fgets()、fputs()
    fprintf()和fscanf()函数文件I/O函数fprintf()和fscanf()函数的工作方式与printf()和scanf()类似,区别在于前者需要用第1个参数指定待处理的文件。下面演示了fprintf()和f......