【C/C++】标准IO操作
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操作的更多相关文章
- 标准IO操作
前言 本文介绍使用java进行简单的标准IO操作. 操作步骤 1. 定义一个Scanner对象 2. 调用该对象的input函数族 (参见下面代码) 3. input函数的返回结果即是获取到的输入 示 ...
- 深究标准IO的缓存
前言 在最近看了APUE的标准IO部分之后感觉对标准IO的缓存太模糊,没有搞明白,APUE中关于缓存的部分一笔带过,没有深究缓存的实现原理,这样一本被吹上天的书为什么不讲透彻呢?今天早上爬起来赶紧找了 ...
- 标准IO
标准IO由ISO C 标准的IO库,它处理了很多底层细节,比如合适的缓冲大小等等,因此更易于使用,但是也引入了一些其他问题. 流向 标准IO使用FILE对象关联流,流可以是面向宽字节的也可以是面向单字 ...
- 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 ...
- linux系统IO操作
本文重点说明下面内容: 什么是标准IO,什么是文件IO? 什么是Direct IO? O_SYNC标识有什么意义? 各个层面的缓存如何同步? 还在page cache中的脏页可以读写吗? IO路径上的 ...
- UNIX高级环境编程(6)标准IO函数库 - 流的概念和操作
标准IO函数库隐藏了buffer大小和分配的细节,使得我们可以不用关心预分配的内存大小是否正确的问题. 虽然这使得这个函数库很容易用,但是如果我们对函数的原理不熟悉的话,也容易遇到很多问题. 1 ...
- 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 ...
- [APUE]标准IO库(下)
一.标准IO的效率 对比以下四个程序的用户CPU.系统CPU与时钟时间对比 程序1:系统IO 程序2:标准IO getc版本 程序3:标准IO fgets版本 结果: [注:该表截取自APUE,上表中 ...
- [APUE]标准IO库(上)
一.流和FILE对象 系统IO都是针对文件描述符,当打开一个文件时,即返回一个文件描述符,然后用该文件描述符来进行下面的操作,而对于标准IO库,它们的操作则是围绕流(stream)进行的. 当打开一个 ...
随机推荐
- 【CAS单点登录视频教程】 第02集 -- 安装CAS
目录 ----------------------------------------- [CAS单点登录视频教程] 第06集[完] -- Cas认证 学习 票据认证FormsAuthenticati ...
- ios 7新特性
1:解决ios7.0中视图控制器中视图坐标布局问题 if ([[[UIDevice currentDevice] systemVersion] floatValue]>=7.0) { self. ...
- ios中常用的方法
图片分类 @implementation UIImageView (ext) +(UIImageView*)imageViewWith:(UIImage*)img imgFrame:(CGRect)_ ...
- 无法启动程序,因为计算机丢失D3DCOMPILER_47.dll 的解决方法
这个原因应该是windows update在更新的时出现错误导致的 解决方法是安装 KB4019990 更新包. 网址如下:http://www.catalog.update.microsoft.c ...
- 合格linux运维人员必会的30道shell编程面试题及讲解
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://oldboy.blog.51cto.com/2561410/1632876 超深度 ...
- OAuth的机制原理讲解及开发流程(转)
1.OAuth的简述 OAuth(Open Authorization,开放授权)是为用户资源的授权定义了一个安全.开放及简单的标准,第三方无需知道用户的账号及密码,就可获取到用户的授权信息,并且这是 ...
- numpy 基于数值范围创建ndarray()
基于数值范围创建函数创建ndarray 1 numpy.arange arange([start=0,] stop[, step=1,][, dtype=None]) >>> np. ...
- Python读文本文件中文乱问题
file_object = open('thefile.txt')try: all_the_text = file_object.read().decode("gb2312")fi ...
- Oracle 12C -- native left outer join的加强
在11g中SQL> select count(*) 2 from emp a, dept b, bonus c 3 where a.deptno(+) = b.deptno 4 ...
- PCM、G.729等常用VoIP编码的理论带宽计算
可能通信背景的同学,一提到PCM编码,脑海里都能跳出来一个数值64K. 一.64KB还是64Kb? 64Kb! 二.哪里来的64Kb? CCITT规定抽样率为每秒8000KHz,每抽样值编8位码,所以 ...