[FileIO]C语言中流与文件操作编程学习
2015-07-11 00:18
441 查看
问题描述:之前用到stdio.h中最多的是获取键盘输入和在显示屏打印输出,用printf, scanf,putchar, getchar等。当除了这些输入输出,还有文件操作等输入输出函数。对这些输入输出内容的学习做下记录。
流:表示任意的输入的源或任意输出的目的地。
文件指针:FILE*,一般操作系统会限制可以同时打开的流的数量,但仍可以用FILE *声明任意个指针。
标准流:由stdio.h提供3个标准流,printf等的实现就是通过标准流来实现。
stdin--标准的输入,从键盘
stdout--标准的输出,从屏幕
stderr--标准的错误,从屏幕
重定向:可以改变默认的标准流,demo <in.dat demo>out.dat
stdio.h支持二进制和文本文件两种文件。
文件操作:
(1)文件打开
FILE *fopen(const char *restrict filename, const char * restrictmode);//文件名可能包含文件位置的信息,mode指定用来打算对文件进行的操作,如r--读入数据。
restrict为C99中关键字,标明filename与mode所指向字符串内存单元不共享。
该函数的使用:
FILE *fp = fopen("in.dat","r");
(2)文件关闭
int fclose(FILE*stream);//成功关闭返回0,否则返回EOF
(3)为打开的流附加文件
FILE *freopen(const char * restrict filename,
const char * restrict mode,
FILE *restrict stream);//如果打开失败则返回NULL
(4)临时文件
待续……
流:表示任意的输入的源或任意输出的目的地。
文件指针:FILE*,一般操作系统会限制可以同时打开的流的数量,但仍可以用FILE *声明任意个指针。
标准流:由stdio.h提供3个标准流,printf等的实现就是通过标准流来实现。
stdin--标准的输入,从键盘
stdout--标准的输出,从屏幕
stderr--标准的错误,从屏幕
重定向:可以改变默认的标准流,demo <in.dat demo>out.dat
stdio.h支持二进制和文本文件两种文件。
文件操作:
(1)文件打开
FILE *fopen(const char *restrict filename, const char * restrictmode);//文件名可能包含文件位置的信息,mode指定用来打算对文件进行的操作,如r--读入数据。
restrict为C99中关键字,标明filename与mode所指向字符串内存单元不共享。
该函数的使用:
FILE *fp = fopen("in.dat","r");
(2)文件关闭
int fclose(FILE*stream);//成功关闭返回0,否则返回EOF
(3)为打开的流附加文件
FILE *freopen(const char * restrict filename,
const char * restrict mode,
FILE *restrict stream);//如果打开失败则返回NULL
(4)临时文件
待续……
相关文章推荐
- [Union]C语言编程中联合Union的学习
- [SwitchCase]C语言编程switch case的使用
- [struct]C语言编程结构体的学习
- [Embedded_SW_模块化]嵌入式C语言工程文件组织_保持更新
- C语言 @property和@synthesize搭配使用声明和实现getter和setter方法
- C语言 点语法的总结
- C++之IO格式控制
- C++之IO格式控制
- chunkAnalyse:C++下读取指定文件下的指定文件或文件
- C语言 宏的概念和使用总结
- java的引用和C++的指针有什么区别
- C/C++ 基本类型数据的数值范围
- 编程思想之多线程与多进程(4)——C++中的多线程
- c语言推断数是否是素数
- C++运算符重载(友元函数方式)
- 为什么C++中空类和空结构体大小为1?
- C++运算符重载(成员函数方式)
- 集合的位图表示(C语言描述)
- c++ primer读书笔记-第十二章 类
- C语言 printf