用fread和fwrite实现文件复制操作


#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc,char **argv)
{
FILE *fp_src,*fp_des;
char buf[128];
int num;
if(argc!=3)
{
printf("the format must be: cp_example file_src file_des\n");
exit(EXIT_FAILURE);
}
if((fp_src=fopen(argv[1],"r"))==NULL)
{
perror("fopen1");
exit(EXIT_FAILURE);
}
if((fp_des=fopen(argv[2],"w"))==NULL)
{
perror("fopen2");
exit(EXIT_FAILURE);
}
do
{
num=fread(buf,1,128,fp_src);
fwrite(buf,1,num,fp_des);
if(feof(fp_src)==1)
break;
}while(1);
fclose(fp_src);
fclose(fp_des);
}

用fread和fwrite实现文件复制操作,布布扣,bubuko.com

时间: 2024-12-26 11:00:04

用fread和fwrite实现文件复制操作的相关文章

Windows系统中监控文件复制操作的几种方式

http://blog.sina.com.cn/s/blog_4596beaa0100lp4y.html 1. ICopyHook 作用: 监视文件夹和打印机移动,删除, 重命名, 复制操作. 可以得到源和目标文件名. 可以控制拒绝操作. 缺点: 不能对文件进行控制. 只对Shell文件操作有效, 对原生Api MoveFile, CopyFile之类的操作无效. 用法: 从ICopyHook派生一个COM对象, 重载CopyCallbackA和CopyCallbackW, 然后把COM注册到H

java 21 - 4 字符流的文件复制操作以及简化

既然字节流可以复制文件,那么字符流当然也有. 同样的思路: 数据源: a.txt -- 读取数据 -- 字符转换流 -- InputStreamReader目的地: b.txt -- 写出数据 -- 字符转换流 -- OutputStreamWriter 1 // 封装数据源 2 InputStreamReader isr = new InputStreamReader(new FileInputStream( 3 "a.txt")); 4 // 封装目的地 5 OutputStrea

[转]Android - 文件读写操作 总结

在android中的文件放在不同位置,它们的读取方式也有一些不同. 本文对android中对资源文件的读取.数据区文件的读取.SD卡文件的读取及RandomAccessFile的方式和方法进行了整理.供参考. 一.资源文件的读取: 1) 从resource的raw中读取文件数据: [java] view plaincopy String res = ""; try{ //得到资源中的Raw数据流 InputStream in = getResources().openRawResour

【Android开发】 文件读写操作——总结

在android中的文件放在不同位置,它们的读取方式也有一些不同. 本文对android中对资源文件的读取.数据区文件的读取.SD卡文件的读取及RandomAccessFile的方式和方法进行了整理.供参考. 一.资源文件的读取: 1) 从resource的raw中读取文件数据: 1 String res = ""; 2 try{ 3 4 //得到资源中的Raw数据流 5 InputStream in = getResources().openRawResource(R.raw.tes

java中的File文件读写操作

之前有好几次碰到文件操作方面的问题,大都因为时间太赶而没有好好花时间去仔细的研究研究,每次都是在百度或者博客或者论坛里面参照着大牛们写的步骤照搬过来,之后再次碰到又忘记了,刚好今天比较清闲,于是就在网上找了找Java常用的file文件操作方面的资料.之后加以一番整理,现分享给大家. 直接上源码吧. package com.file; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundEx

Java 文件复制

摘要 尽管Java提供了一个可以处理文件的IO操作类. 但是没有一个复制文件的方法. 复制文件是一个重要的操作,当你的程序必须处理很多文件相关的时候. 然而有几种方法可以进行Java文件复制操作,下面列举出4中最受欢迎的方式. 1.使用File Streams复制 这是最经典的方式将一个文件的内容复制到另一个文件中. 使用FileInputStream读取文件A的字节,使用FileOutputStream写入到文件B. 这是第一个方法的代码: public static void copyFil

文件操作:fread()和fwrite()

fread和fwrite函数功能 用来读写一个数据块. 一般调用形式 fread(buffer,size,count,fp); fwrite(buffer,size,count,fp); 说明 (1)buffer:是一个指针,对fread来说,它是读入数据的存放地址.对fwrite来说,是要输出数据的地址. (2)size:要读写的字节数: (3)count:要进行读写多少个size字节的数据项: (4)fp:文件型指针. 注意:1 完成次写操(fwrite())作后必须关闭流(fclose()

文件内容操作篇clearerr fclose fdopen feof fflush fgetc fgets fileno fopen fputc fputs fread freopen fseek ftell fwrite getc getchar gets

clearerr(清除文件流的错误旗标) 相关函数 feof 表头文件 #include<stdio.h> 定义函数 void clearerr(FILE * stream); 函数说明 clearerr()清除参数stream指定的文件流所使用的错误旗标. 返回值 fclose(关闭文件) 相关函数 close,fflush,fopen,setbuf 表头文件 #include<stdio.h> 定义函数 int fclose(FILE * stream); 函数说明 fclos

文件块读写-使用fread和fwrite

通常使用fprintf和fscanf进行对文件的格式化读写,但是因为读写的过程中要进行转码,因此 那么可以通过fread和fwrite进行对数据块的读写. 函数定义为 size_t fread(void *buffer,size_t numbyte,size_t count, FILE *fp); size_t fwrite(const void *buffer,size_t numbyte,size_t count, FILE *fp); 参数含义,buffer-数据块首地址,numbyte-