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. Oracle的悲观锁和乐观锁

    为了得到最大的性能,一般数据库都有并发机制,不过带来的问题就是数据访问的冲突.为了解决这个问题,大多数数据库用的方法就是数据的锁定. 数据的锁定分为两种方法,第一种叫做悲观锁,第二种叫做乐观锁.什么叫 ...

  2. asp.net 如何配置authentication,完成基于表单的身份验证

    步骤一: 在根目录下的web.config中加入: <system.web> <authentication mode="Forms">           ...

  3. Ubuntu 10.04里安装强大抓图工具Shutter

    Shutter 原名叫GScrot,是一款Linux下很强大的抓图工具,支持截取全屏幕,窗口,自选区域以及网页的图像,并且截取后的图像还可以简单编辑,Shutter还支持插件功能,矩齿,边缘化,碎纸, ...

  4. java struts2入门学习---中文验证、对错误消息的分离、结果(result)类型细节配置

    一.需求 利用struts2实现中文验证并对错误消息的抽离. 详细需求:用户登录-->不填写用户名-->页面跳转到用户登录页面,提示用户名必填(以英文和中文两种方式提示)-->填写英 ...

  5. LAMP环境搭建实现网站动静分离[转]

    目录: 1.环境概述 2.动静分离拓扑图 3.各服务器功能规划 4.各服务器基础环境配置 5.httpd安装配置 6.php安装配置及启用opcache加速功能 7.mysql安装配置 8.wordp ...

  6. Fusion-io ioDrive Duo Enterprise PCIe Review

    原文地址:http://www.storagereview.com/fusionio_iodrive_duo_enterprise_pcie_review As part of StorageRevi ...

  7. FormsAuthentication.SetAuthCookie

    这两天在研究 Forms 进行用户验证, 它本身没有什么上msdn上查一下就知道怎么个搞法了! 不过我在测试的时候发现也会产生 了一些疑问! 1. 什么我在web.config 的 authentic ...

  8. svn开发常用整理

    1.删除tortoise svn中的账号信息 其实tortoise svn也是将账号信息存放在本地的配置文件中 在不同的操作系统下,操作基本类似,首先我们来看一下windows下如何操作的. 以win ...

  9. 面试必备:HashMap源码解析(JDK8)

    1 概述 本文将从几个常用方法下手,来阅读HashMap的源码. 按照从构造方法->常用API(增.删.改.查)的顺序来阅读源码,并会讲解阅读方法中涉及的一些变量的意义.了解HashMap的特点 ...

  10. 跟我学SharePoint2013视频培训课程——设置列表名称、描述、导航等基本信息(12)

    课程简介 第12天,怎样在SharePoint 2013设置列表名称.描述.导航等基本信息. 视频 SharePoint 2013 交流群 41032413