APUE之标准I/O fopen,freopen,fread,fwrite实例。
来源:互联网 发布:mac虚拟机配置文件vmx 编辑:程序博客网 时间:2024/04/28 12:43
#include <stdio.h>
格式:
FILE *fopen(const char *path, const char *mode); FILE *fdopen(int fildes, const char *mode); //将流与已存在的文件描述符fileds连接FILE *freopen(const char *path, constchar *mode,FILE *stream);
2.参数说明
filename: 要打开的文件名
mode: 文件打开的模式,和fopen中的模式(r/w)相同
stream: 文件指针,通常使用标准流文件(stdin/stdout/stderr)
返回值:成功,则返回一个path所指定文件的指针;失败,返回NULL。(一般可以不使用它的返回值)
功能:实现重定向,把预定义的标准流文件定向到由path指定的文件中。标准流文件具体是指stdin、stdout和stderr。其中stdin是标准输入流,默认为键盘;stdout是标准输出流,默认为屏幕;stderr是标准错误流,一般把屏幕设为默认。通过调用freopen,就可以修改标准流文件的默认值,实现重定向。
注:freopen也可完成标准输入和标准输出重定向。
#include<stdio.h>#define TEST "say hello\n"int main(int argc,char **argv){/*if(NULL== (freopen("testdup1","w", stdin))){ printf("error");}将文件1中的全体数据写入文件2之中*/if(NULL== (freopen("testdup2","w", stdout))){ printf("error");}printf(TEST);return 0;}表头文件 #include<stdio.h>
fread 函数原型
size_t fread( void * ptr,size_t size,size_t nmemb,FILE * stream);
fwrite 函数原型
size_t fwrite(const void * ptr,size_t size,size_t nmemb,FILE * stream);
一般调用形式
fread(buffer,size,count,fp);
fwrite(buffer,size,count,fp);
说明
(1)buffer:是一个指针,对fread来说,它是读入数据的存放地址。对fwrite来说,是要输出数据的地址。
(2)size: 要读写的字节数;
(3)count: 要进行读写多少个size字节的数据项;
(4)fp: 文件型指针。
用法:
(1)读或写一个二进制数组。例如:将一个浮点数组的第2~5个元素写至一个文件上。
float data[10];
if (fwrite(&data[2], sizeof(float), 4, fp) != 4) err_sys("fwrite error"); //其中,指定size为每个数组元素的长度,nobj为要写的元素数。
(2)读或写一个结构。例如:
struct{short count;long total;char name[NAMESIZE];}item;if (fwrite( &item, sizeof(item), 1, fp) != 1)err_sys("fwrite error"); //指定size为结构的长度,nobj为1(要写的对象数)。
- APUE之标准I/O fopen,freopen,fread,fwrite实例。
- 标准I/O函数之fopen, fread, fwrite,fgetc,fputc
- 文件操作--标准I/O操作--fopen() fclose() fread() fwrite()
- Unix下到I/O fopen /open,read/write和fread/fwrite区别
- 标准 C I/O 之 fread () 函数
- matlab之fopen,fread,fclose,fwrite
- 标准 C I/O 之 fopen () 函数
- APUE读书笔记 之 标准I/O库
- 数据块I/O:fread与fwrite
- fread,fwrite,fopen,fclose
- fopen()、fwrite()、fread()
- fopen()、fwrite()、fread()函数
- linux下标准I/O的使用——fread/fwrite
- 【APUE】标准I/O库
- APUE 标准I/O库
- APUE------标准I/O库
- apue:标准I/O库
- 13-15 标准IO之fread、fwrite
- make工具介绍
- HDU 3555 Bomb ,HDU 2089 深刻学习数位dp (各种方法乱用)
- 基于邻接矩阵存储的无向网图的创建,最小生成树算法实现完整代码
- Android Studio报错 'reg'不是内部或外部命令,也不是可运行的程序或批处理文件。
- android 蓝牙各种UUID
- APUE之标准I/O fopen,freopen,fread,fwrite实例。
- 关于MFC中Static Text的使用。VS2008、VS2005、VS2010、error C2065: “IDC_STATIC5”: 未声明的标识符
- PID控制算法 C程序的两种表述
- mysql prepare语句使用
- C#数据库操作——新建表、查询、删除、添加、更新
- 和陈琦的思想碰撞
- eclipse中修改字体大小
- VS2013 Brower Link和Aspnetpager引发的问题分析
- 趣文:为什么软件开发周期通常是预期的两三倍?