如何正确理解C语言的文件
2016-06-27 16:06
399 查看
C语言的文件是C语言的基础知识,掌握C语言文件需要了解哪些东西呢?这里已经给大家详细列出了知识点:
【1】、文件
C语言中,把文件看做一个字符的序列,也称字符流(没有格式)
可以简单认为是分为:
|->文本文件:以某种编码存储显示的字符;
|-> 二进制文件:以补码格式存储;
其实是按数据的组织形式来分的:
|->文本文件: ASCII文件,每个字节存放一个字符的ASCII码
|->二进制文件:数据按其在内存中的存储形式原样存放
【2】、文件结构体FILE
缓冲文件系统为每个正使用的文件在内存开辟文件信息区;
文件信息用系统定义的名为FILE的结构体描述;FILE定义在stdio.h中。
【3】、指针变量说明: FILE *fp;
用法:
文件打开时,系统自动建立文件结构体,
并把指向它的指针返回来,程序通过这个指针获得文件信息,访问文件。
文件关闭后,它的文件结构体被释放。
【4】、C文件操作用库函数实现,包含在stdio.h
文件使用方式:打开文件-->文件读/写-->关闭文件
系统自动打开和关闭三个标准文件:
标准输入 ------键盘 stdin
标准输出 ------显示器 stdout
标准出错输出 ------显示器 stderr
【5】、打开文件fopen
函数原型:
FILE *fopen(char *name,char *mode)
功能:
按指定方式打开文件。
返值:
正常打开,为指向文件结构体的指针;打开失败,为NULL。
eg:
FILE *fp;
fp=fopen("aa.txt","w");
if(fp==NULL)
{
printf(“File open error!\n”);
exit(0); //关闭所有的文件,终止正在执行的程序,
exit(1)非正常退出,要包含stdlib.h文件
}
【6】、文件关闭fclose
作用:
使文件指针变量与文件“脱钩”,释放文件结构体和文件指针。
函数原型:
int fclose(FILE *fp)
功能:
关闭fp指向的文件。
返值:
正常关闭为0;出错时,非0。
注意:
如果文件打开没有关闭,将导致内容丢失。
原文链接:简书/我是蔡金龙
【1】、文件
C语言中,把文件看做一个字符的序列,也称字符流(没有格式)
可以简单认为是分为:
|->文本文件:以某种编码存储显示的字符;
|-> 二进制文件:以补码格式存储;
其实是按数据的组织形式来分的:
|->文本文件: ASCII文件,每个字节存放一个字符的ASCII码
|->二进制文件:数据按其在内存中的存储形式原样存放
【2】、文件结构体FILE
缓冲文件系统为每个正使用的文件在内存开辟文件信息区;
文件信息用系统定义的名为FILE的结构体描述;FILE定义在stdio.h中。
【3】、指针变量说明: FILE *fp;
用法:
文件打开时,系统自动建立文件结构体,
并把指向它的指针返回来,程序通过这个指针获得文件信息,访问文件。
文件关闭后,它的文件结构体被释放。
【4】、C文件操作用库函数实现,包含在stdio.h
文件使用方式:打开文件-->文件读/写-->关闭文件
系统自动打开和关闭三个标准文件:
标准输入 ------键盘 stdin
标准输出 ------显示器 stdout
标准出错输出 ------显示器 stderr
【5】、打开文件fopen
函数原型:
FILE *fopen(char *name,char *mode)
功能:
按指定方式打开文件。
返值:
正常打开,为指向文件结构体的指针;打开失败,为NULL。
eg:
FILE *fp;
fp=fopen("aa.txt","w");
if(fp==NULL)
{
printf(“File open error!\n”);
exit(0); //关闭所有的文件,终止正在执行的程序,
exit(1)非正常退出,要包含stdlib.h文件
}
【6】、文件关闭fclose
作用:
使文件指针变量与文件“脱钩”,释放文件结构体和文件指针。
函数原型:
int fclose(FILE *fp)
功能:
关闭fp指向的文件。
返值:
正常关闭为0;出错时,非0。
注意:
如果文件打开没有关闭,将导致内容丢失。
原文链接:简书/我是蔡金龙
相关文章推荐
- C++ 类的头文件、实现、使用
- 静态局部变量
- C语言一些常用的“位”操作函数
- 常常困扰C语言初学者的几个问题
- 二叉搜索树及其C++实现
- 遗传算法求解函数最大值用例
- C++ 虚函数表解析
- c++ 检查一个字符串中是否有汉字
- C语言一些容易忘得知识点汇总
- 用C++11的std::async代替线程的创建
- 一个关于c/c++语言内存数据类型的实验
- c++复制构造函数(浅拷贝、深拷贝)
- 数据流中的中位数
- C++类成员的初始化
- 利用C语言创建和使用DLL文件
- Leetcode-8-String to Integer(atoi) C++
- C++ Boost 学习资源列表
- Java如何调用C++ DLL库
- C++ UNICODE下CString 转换为string
- VC++调试常见错误总结