fwrite实现文件复制

 //@ author 成鹏致远
//@ net http://infodown.tap.cn
//@ qq 552158509
//@ blog lcw.cnblogs.com #include <stdio.h>
#include <stdlib.h>
#include <string.h> #define BUFSIZE 100 int main(int argc, char * argv[])
{
FILE *read_fp,*write_fp;
char buf[BUFSIZE]; if( != argc)
{
printf("Usage:%s <origin_filename> <target_filename> \n",argv[]);
exit();
}
if(NULL == (read_fp = fopen(argv[],"r")))
{
perror("malloc");
exit();
}
if(NULL == (write_fp = fopen(argv[],"w")))
{
perror("malloc");
exit();
} while(!feof(read_fp) && !ferror(read_fp))
{
bzero(buf,BUFSIZE);//在使用前一定要先清缓冲
fread(buf,BUFSIZE,,read_fp);//读取文件
fwrite(buf,strlen(buf),,write_fp);//写文件,注意要用strlen,因为最后一次可以装不满缓冲区
} fclose(read_fp);
fclose(write_fp); return ;
}

fgets实现文件复制

 //@ author 成鹏致远
//@ net http://infodown.tap.cn
//@ qq 552158509
//@ blog lcw.cnblogs.com //copy file by line #include <stdio.h>
#include <stdlib.h> #define MAXSIZE 1024 int main(int argc, char * argv[])
{
FILE *read_fp,*write_fp;
char buf[MAXSIZE]; if( != argc)
{
printf("Usage:%s <origin_filename> <target_filename> \n",argv[]);
exit();
}
if(NULL == (read_fp = fopen(argv[],"r")))
{
perror("malloc");
exit();
}
if(NULL == (write_fp = fopen(argv[],"w")))
{
perror("malloc");
exit();
} while(NULL != fgets(buf,MAXSIZE,read_fp))//fgets()浼氭妸'\n'绠楀湪缂撳啿鍖轰腑
{
fputs(buf,write_fp);//paste file
} fclose(read_fp);
fclose(write_fp); return ;
}

fgetc实现文件

 //@ author 成鹏致远
//@ net http://infodown.tap.cn
//@ qq 552158509
//@ blog lcw.cnblogs.com //copy file by char #include <stdio.h>
#include <stdlib.h> int main(int argc, char * argv[])
{
FILE *read_fp,*write_fp;
char tmp; if( != argc)
{
printf("Usage:%s <origin_filename> <target_filename> \n",argv[]);
exit();
}
if(NULL == (read_fp = fopen(argv[],"r")))
{
perror("malloc");
exit();
}
if(NULL == (write_fp = fopen(argv[],"w")))
{
perror("malloc");
exit();
} while(EOF !=(tmp= fgetc(read_fp)))//copy file
{
fputc(tmp,write_fp);//paste file
} fclose(read_fp);
fclose(write_fp); return ;
}

【C/C++】标准IO操作的更多相关文章

  1. 标准IO操作

    前言 本文介绍使用java进行简单的标准IO操作. 操作步骤 1. 定义一个Scanner对象 2. 调用该对象的input函数族 (参见下面代码) 3. input函数的返回结果即是获取到的输入 示 ...

  2. 深究标准IO的缓存

    前言 在最近看了APUE的标准IO部分之后感觉对标准IO的缓存太模糊,没有搞明白,APUE中关于缓存的部分一笔带过,没有深究缓存的实现原理,这样一本被吹上天的书为什么不讲透彻呢?今天早上爬起来赶紧找了 ...

  3. 标准IO

    标准IO由ISO C 标准的IO库,它处理了很多底层细节,比如合适的缓冲大小等等,因此更易于使用,但是也引入了一些其他问题. 流向 标准IO使用FILE对象关联流,流可以是面向宽字节的也可以是面向单字 ...

  4. Linux IO操作——RIO包

    1.linux基本I/O接口介绍 ssize_t read(int fd, void *buf, size_t count); ssize_t write(int fd, void *buf, siz ...

  5. linux系统IO操作

    本文重点说明下面内容: 什么是标准IO,什么是文件IO? 什么是Direct IO? O_SYNC标识有什么意义? 各个层面的缓存如何同步? 还在page cache中的脏页可以读写吗? IO路径上的 ...

  6. UNIX高级环境编程(6)标准IO函数库 - 流的概念和操作

    标准IO函数库隐藏了buffer大小和分配的细节,使得我们可以不用关心预分配的内存大小是否正确的问题. 虽然这使得这个函数库很容易用,但是如果我们对函数的原理不熟悉的话,也容易遇到很多问题.   1 ...

  7. ca75a_c++_标准IO库-利用流对象把文件内容读取到向量-操作文件

    /*ca75a_c++_标准IO库习题练习习题8.3,8.4,8.6习题8.9.8.10 ifstream inFile(fileName.c_str());1>d:\users\txwtech ...

  8. [APUE]标准IO库(下)

    一.标准IO的效率 对比以下四个程序的用户CPU.系统CPU与时钟时间对比 程序1:系统IO 程序2:标准IO getc版本 程序3:标准IO fgets版本 结果: [注:该表截取自APUE,上表中 ...

  9. [APUE]标准IO库(上)

    一.流和FILE对象 系统IO都是针对文件描述符,当打开一个文件时,即返回一个文件描述符,然后用该文件描述符来进行下面的操作,而对于标准IO库,它们的操作则是围绕流(stream)进行的. 当打开一个 ...

随机推荐

  1. cas配置不通过登陆校验的页面

    项目中的单点登录是通过CAS配置的,如果是未登录状态,那么请求在通过CAS过滤器校验时会转向登陆页面,无法通过访问类似http://localhost:8080/portal/business-plu ...

  2. ios判断是否有中文

    //判断是否有中文 -(BOOL)IsChinese:(NSString *)str { ; i< [str length];i++){ int a = [str characterAtInde ...

  3. Emacs显示光标在哪个函数

    Emacs24中打开which-function-mode即可. 在.emacs中添加一行: (which-function-mode 1) 调整which-function在mode-line中的显 ...

  4. “医疗信息化行业之中的联发科”- 我们在医疗行业中的定位及目标 想做一个面对中小企业的专业上游软件供应商 台湾联发科技颠覆掉的是一个封闭的手机产业系统 解决方案,即AgileHIS.NET数字化医院基础方案

    “医疗信息化行业之中的联发科”- 我们在医疗行业中的定位及目标   我们做中国医疗信息化行业之中的联发科 ---我们在医疗行业中的定位及目标 从我个人来讲,我从2001年到现在这10年之间基本上一直在 ...

  5. 如何用cacti监控windwos

    1:模版下载地址 https://github.com/mrlesmithjr/cacti resource \ snmp_queries 的文件放到cacti服务器对应的目录下 导入模版文件(在te ...

  6. block(三)揭开神秘面纱(上)-b

    block到底是什么 我们使用clang的rewrite-objc命令来获取转码后的代码. 1.block的底层实现 我们来看看最简单的一个block: [caption id="attac ...

  7. 12C的审计模式

    1.Mixed Auditing Policy 混合审计模式支持新的审计引擎和老的审计引擎一起工作数据库升级后,已有的审计设置不会受到影响.但是官方建议迁移到统一审计模式.数据库创建后,默认是使用混合 ...

  8. C# 可选参数 命名参数

    1.可选参数 可选参数是.NET4中新添加的功能,应用可选参数的方法在被调用的时可以选择性的添加需要的参数,而不需要的参数由参数默认值取代. class Program { /// <summa ...

  9. Echarts 如何与 百度地图结合?

    官方demo:http://echarts.baidu.com/examples/editor.html?c=map-polygon 需要按顺序加载以下几个资源,然后就可以在echarts配置中使用 ...

  10. Docker容器进入的4种方式(转)

    在使用Docker创建了容器之后,大家比较关心的就是如何进入该容器了,其实进入Docker容器有好几多种方式,这里我们就讲一下常用的几种进入Docker容器的方法. 进入Docker容器比较常见的几种 ...