1.  fread/fwrite实现复制功能

#include <stdio.h>
#include <stdlib.h>

#define BUFFSIZE  4096

//执行: ./a.out file1 file2
//功能: 将file1的内容读取出来,写入file2,即复制
int main(int argc,char *argv[])
{
    char buffer[BUFFSIZE];
    FILE *pRead,*pWrite; //读文件指针 写文件指针
    int n;

    //检测是否输入file1和file2
    )
    {
        printf("main option error!\n");
        ;
    }

    pRead = fopen(argv[],"r"); //只读 文件必须已存在
    if(!pRead)
    {
        printf("fopen argv[1] error!\n");
        ;
    }

    pWrite = fopen(argv[],"w"); //只写 若文件不存在,则创建
    if(!pWrite)
    {
        printf("fopen argv[2] error!\n");
        ;
    }

    //从pRead指向文件读取字符入buffer
     )
    {
        //检测从buffer写入pWrite指向文件的字符数,是不是等于读取字符数
        if( fwrite(buffer,sizeof(char),n,pWrite)!=n )
        {
            printf("fwrite error!\n");
            ;
        }
    }

    ) //fread返回值<0,说明fread读取失败
    {
        printf("fread error!\n");
        ;
    }

    //复制结束后,要关闭文件
    fclose(pRead);
    fclose(pWrite);

    ;
}

fread/fwrite实现复制功能的更多相关文章

  1. 那些年,坑死自己的事之fread/fwrite

    今天继续看牛人做过的东西,这个小程序并不大,加上相当多的注释行,才5000多行.这个小程序是在linux下实现的,之前自己也一直用vi来看并加以更加详细的注释,但是效率实在太低.于是将其转移到wind ...

  2. linux缓冲的概念fopen /open,read/write和fread/fwrite区别

    fopen /open区别 UNIX环境下的C 对二进制流文件的读写有两套班子:1) fopen,fread,fwrite ; 2) open, read, write这里简单的介绍一下他们的区别.1 ...

  3. Linux read/write fread/fwrite两者区别

    Linux read/write fread/fwrite两者区别 1,fread是带缓冲的,read不带缓冲. 2,fopen是标准c里定义的,open是POSIX中定义的. 3,fread可以读一 ...

  4. fread/fwrite

    fread/fwrite第二个参数和第三个参数的区别以及与返回值的关系 size_t fwrite_unlocked(const void * __restrict ptr, size_t size, ...

  5. fopen /open,read/write和fread/fwrite区别

    fopen /open,read/write和fread/fwrite区别         转载URL:http://hi.baidu.com/%B9%C8%C9%F1%B2%BB%CB%C0jdp/ ...

  6. [Linux]read/write和fread/fwrite有什么区别

    转自:http://blog.csdn.net/xiaofei0859/article/details/51145051 二者都是对文件进行操作,那么二者有什么区别,用的时候该如何选择呢? 1. 区别 ...

  7. read/write/fsync与fread/fwrite/fflush的关系和区别

    read/write/fsync: 1. linux底层操作: 2. 内核调用, 涉及到进程上下文的切换,即用户态到核心态的转换,这是个比较消耗性能的操作. fread/fwrite/fflush: ...

  8. C++fread/fwrite的基础用法

    前言 fread是吼东西 应某人要求(大概)科普一下 fread #include <iostream> #include <cstdlib> #include <cst ...

  9. fopen\fread\fwrite\fscanf\fprintf\fseek\feof\rewind\fgets\fputc等系列函数使用总结

    转载自:http://blog.csdn.net/xidianzhimeng/article/details/23541289 1 fopen 函数原型:FILE * fopen(const char ...

随机推荐

  1. noip模拟赛 少女

    分析:每个连通块都是独立的,对一个连通块进行分析.如果边数>点数,显然是不可能的,因为每条边要分配给一个点,至少有一个点分配了两次以上.如果边数=点数,就形成了环,有两种方案,顺时针一个环,逆时 ...

  2. PatentTips - Universal RAID Class Driver

    BACKGROUND OF THE INVENTION The present invention relates to the field of data storage devices. Comp ...

  3. 自定义日志工具LogUtil

    package com.pingyijinren.test; import android.util.Log; /** * Created by Administrator on 2016/5/20 ...

  4. hdu - 1689 Just a Hook (线段树区间更新)

    http://acm.hdu.edu.cn/showproblem.php?pid=1698 n个数初始每个数的价值为1,接下来有m个更新,每次x,y,z 把x,y区间的数的价值更新为z(1<= ...

  5. Codeforces 651E Table Compression【并查集】

    题目链接: http://codeforces.com/problemset/problem/650/C 题意: 给定n*m的矩阵,要求用最小的数表示每个元素,其中各行各列的大小关系保持不变. 分析: ...

  6. sql将日期按照年月分组并统计数量

    SELECT DATE_FORMAT(releaseDate,"%Y年%m月") AS dates,COUNT(*) FROM t_diary GROUP BY DATE_FORM ...

  7. Elasticsearch学习系列之单模式下API的增删改查操作

    这里我们通过Elasticsearch的marvel插件实现单模式下API的增删改查操作 索引的初始化操作 创建索引之前可以对索引进行初始化操作,比如先指定shard数量以及replicas的数量 代 ...

  8. C#.NET 如何快速输入一个对象事件对应的方法

    直接在Textbox图像对象中找到这个对象的KeyPress方法,然后输入触发的事件名称.效率更高,不容易出错. "void TypeAreaKeyPress(object sender, ...

  9. Apple Swift编程语言新手教程

    文件夹 1   简单介绍 2   Swift入门 3   简单值 4   控制流 5   函数与闭包 6   对象与类 7   枚举与结构 1   简单介绍 今天凌晨Apple刚刚公布了Swift编程 ...

  10. mongodb的备忘录

    https://www.cnblogs.com/best/p/6212807.html