fread/fwrite实现复制功能
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实现复制功能的更多相关文章
- 那些年,坑死自己的事之fread/fwrite
今天继续看牛人做过的东西,这个小程序并不大,加上相当多的注释行,才5000多行.这个小程序是在linux下实现的,之前自己也一直用vi来看并加以更加详细的注释,但是效率实在太低.于是将其转移到wind ...
- linux缓冲的概念fopen /open,read/write和fread/fwrite区别
fopen /open区别 UNIX环境下的C 对二进制流文件的读写有两套班子:1) fopen,fread,fwrite ; 2) open, read, write这里简单的介绍一下他们的区别.1 ...
- Linux read/write fread/fwrite两者区别
Linux read/write fread/fwrite两者区别 1,fread是带缓冲的,read不带缓冲. 2,fopen是标准c里定义的,open是POSIX中定义的. 3,fread可以读一 ...
- fread/fwrite
fread/fwrite第二个参数和第三个参数的区别以及与返回值的关系 size_t fwrite_unlocked(const void * __restrict ptr, size_t size, ...
- 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/ ...
- [Linux]read/write和fread/fwrite有什么区别
转自:http://blog.csdn.net/xiaofei0859/article/details/51145051 二者都是对文件进行操作,那么二者有什么区别,用的时候该如何选择呢? 1. 区别 ...
- read/write/fsync与fread/fwrite/fflush的关系和区别
read/write/fsync: 1. linux底层操作: 2. 内核调用, 涉及到进程上下文的切换,即用户态到核心态的转换,这是个比较消耗性能的操作. fread/fwrite/fflush: ...
- C++fread/fwrite的基础用法
前言 fread是吼东西 应某人要求(大概)科普一下 fread #include <iostream> #include <cstdlib> #include <cst ...
- fopen\fread\fwrite\fscanf\fprintf\fseek\feof\rewind\fgets\fputc等系列函数使用总结
转载自:http://blog.csdn.net/xidianzhimeng/article/details/23541289 1 fopen 函数原型:FILE * fopen(const char ...
随机推荐
- [luoguP1037] 产生数(floyd + 高精度)
传送门 先用 floyd 求出每一个数可以变成那些数. 然后利用乘法原理求解,需要高精度. 代码 #include <cstdio> #include <cstring> #i ...
- Codeforces Round #259 (Div. 2) D
D. Little Pony and Harmony Chest time limit per test 4 seconds memory limit per test 256 megabytes i ...
- PHP_pear的安装和使用
-------------- 安装pear -------------- pear是PHP的扩展和应用程序库,包含了很多有用的类,安装好php5.0后,pear实际上并没有被安装 ...
- SAS编程基础 - 数据获取与数据集操作(1)
1. 数据来源 SAS数据来源主要有两种:一是通过input语句创建,另外一种方式是通过外部数据文件获取. 1.1 libname 1.2 odbc 1.3 passthrough 1.4 impor ...
- cocos2dx塔防游戏逻辑
cocos2dx 塔防游戏逻辑 1.欢迎界面 2.tield制作游戏地图,空块设置cantouch属性为1 3.设置地图锚点,把锚点增加一个锚点容器,给怪物的行走函数传入 该锚点容器參数,让怪物依照锚 ...
- Guake Terminal ── linux下完美帅气的终端
虽说如今非常多Linux发行版.比方Ubuntu,已经基本上能够採用GUI来完毕绝大部分一般性的任务. 可是,终端程序对于linux用户来说仍是不可缺少的. Gnome自带的gnome-termina ...
- 介绍Android拍照,录像开发的相关东东
Android下相机有自带的照片功能,可是作为开发人员,我们需要更为深层次的知道,怎么用,以及相关原理,这里我就这方面的学习,写一下心得,供博友参考. 第一种:调用系统自带相机界面. 这时我们在布局文 ...
- Cg入门20:Fragment shader - 片段级模型动态变色(实现汽车动态换漆)
Unity 一个面片的最大顶点数为65524,所以大于这个数,请拆分成多个面片 1.获取汽车x轴的最大值和最小值[-2.5,2.5]+R watermark/2/text/aHR0cDovL2Jsb2 ...
- 【bzoj4590】[Shoi2015]自动刷题机
因为解一定是单调的,n越小切的题越多,这是可以肯定的,那么直接二分答案 #include<algorithm> #include<iostream> #include<c ...
- frame pointer及其用途
1 什么是frame pointer frame pointer指向本函数栈帧顶,通过它可以找到本函数在进程栈中的位置.有专门的寄存器保存该值. 2 frame pointer有什么用 主要是back ...