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. Quartz中时间表达式的设置-----corn表达式 (转)

    Quartz中时间表达式的设置-----corn表达式 (注:这是让我看比较明白的一个博文,但是抱歉,没有找到原作者,如有侵犯,请告知) 时间格式: <!-- s m h d m w(?) y( ...

  2. libev ev_io_init学习

    #define ev_io_init(ev,cb,fd,events) / do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } w ...

  3. IKE 协议(转)

    from: http://lulu1101.blog.51cto.com/4455468/817872 IKE 协议 2012-03-26 21:49:50 标签:休闲 ike 职场 IKE 协议简介 ...

  4. eclipse安装activiti designer

    方法一:在线安装(可能因网络等原因安装失败) 打开eclipse,在Help->Install New Software后的弹出窗点击add按钮.  在弹出窗口的文本框里输入一下内容 Name: ...

  5. sql 2005出现错误:数据库 'Twitter' 的事务日志已满。若要查明无法重用日志中的空间的原因,请参阅 sys.databases 中的 log_reuse_wait_desc 列。

    --先备份数据库 --截断事务日志 backup   log   Twitter with   no_loggo --收缩数据库 dbcc   shrinkdatabase(Twitter) go O ...

  6. 【HTML】前端性能优化之CDN和WPO的比较

    CDN通过将资源存储在更接近用户的位置,缩短到服务器的往返行程,加快页面加载时间来解决性能问题.WPO解决方案,如Radware的FastView,则在前端进行性能提升处理,使页面更有效地呈现在浏览器 ...

  7. hibernate 注解 boolean问题解决方案

    1.JPA本身是不支持boolean.可以用Hibernater自带的标签.修改如下. @Column(name = "manager_log") @org.hibernate.a ...

  8. ftk学习记(滑动条篇)

    [声明:版权全部,欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 前一篇说到了combox.就先看一下效果吧. 说完了combox,就谈谈今天的滑动条.滑动条,当然 ...

  9. php管理nginx虚拟主机shell脚本

    使用php作为shell脚本是一件很方便的事情.理所当然,我们可以使用php脚本来管理 nginx虚拟主机,下面是笔者的 脚本 文件供各位参考 代码如下 复制代码 #!/usr/bin/php -q& ...

  10. [转]Jackson 解析json数据之忽略解析字段注解@JsonIgnoreProperties

    以前解析json用的惯的就是Google的gson了,用惯了基本就用它了,一直也没发现什么大问题,因为都是解析简单的json数据.但是最近学习springboot,要解析一个比较复杂的json数据.就 ...