文件操作相关函数
来源:互联网 发布:云图tv电视直播mac版 编辑:程序博客网 时间:2024/06/05 19:06
文件读写
本文主要介绍C/C++语言的文件操作相关知识点。
基本概念:C
文件系统功能是操作系统的重要功能和组成部分。在操作系统中,文件是指保存在外部介质的一个有序数据集,例如源文件、目标程序文件、可执行程序,或待输入的原始数据或输出的结果数据。一般把源文件、目标文件和可执行程序称为程序文件,输入/输出数据称为数据文件。为了提高数据存取访问的速度,C程序对文件的处理采用缓冲文件系统的方式进行,即程序与文件的数据交换通过缓冲区进行。文件系统分为缓冲文件系统和非缓冲文件系统。缓冲文件系统由操作系统自动完成,非缓冲文件系统有程序控制。写文件:首先把数据写入文件缓冲区,当写满内存缓冲单元(如512B),操作系统自动把全部数据写入磁盘的一个扇区,然后清空文件缓冲区,新的数据继续写入到文件缓冲区。读文件:系统首先自动把一个扇区的数据导入文件缓冲区,供C程序逐个读入数据,一旦内存缓冲单元的数据被全部读入,系统自动把下一个扇区的数据导入文件缓冲区,供C程序继续读入新的数据。
相关操作函数:
1.头文件:#include<stdio.h>
2.打开文件:fopen("文件名","文件打开方式");//文本文件:只读"r"、只写"w"、追加"a"、读写"r+"、新建读写"w+"、打开读写追加"a+"
示例:
FILE* fp;fp = fopen("abc.txt","r");//或者FILE* fp = fopen("abc.txt","r");
3.关闭文件:fclose(文件指针);
4.字符读写函数:fputc(char ch, FILE* fp);//写字符char ch = fgetc(FILE* fp);//读入字符
5.字符串读写函数:fputs(s,fp);//写字符串,s:字符串,fp:文件指针fgets(s,n,fp);//读入字符串,s:字符串,n:读入的字符个数,fp:文件指针
6.格式化文件读写函数:fscanf(文件指针,格式字符串,输入表);fprintf(文件指针,格式字符串,输出表);
FILE* fp;int n;float x;fp = fopen("a.txt","r");fscanf(fp,"%d%f",&n,&x);fprintf(fp,"%d%f",n,x);
6.其他函数:feof(fp);//判断文件的末尾标志#include<stdio.h>#include<stdlib.h>int main(void){ FILE *fp;//定义文件指针 char ch = 'f'; char chs[] = "File"; char strout[5]; if((fp=fopen("chsFile.txt","w")) == NULL)//写方式打开文件 ,并判断是否正确打开 { printf("File open error!\n"); exit(0); }// ch = getchar(); fputc(ch,fp);//写字符到文件fp fclose(fp);//关闭文件 if((fp=fopen("chsFile.txt","a+")) == NULL)//写方式打开文件 ,并判断是否正确打开 { printf("File open error!\n"); exit(0); }fputs(chs,fp);//写字符串到文件fp fclose(fp);//关闭文件 if((fp=fopen("chsFile.txt","r")) == NULL)//读方式打开文件 ,并判断是否正确打开 { printf("File open error!\n"); exit(0); }while(fgets(strout,5,fp) != NULL)//读入字符串 {printf("%s",strout);}puts(chs);//显示到屏幕 fclose(fp);return 0;}
基本概念:C++
头文件:
#include<ofstream>//文件写操作
#include<ifsrtream>//文件读操作
#include<fstream>//文件读写操作
写入文件:
1.创建一个ofstream对象来管理输出流;
2.将该对象与特定的文件关联起来;
3.使用类似cout的<<插入运算符实现写操作。
读文件:
1.创建一个ifstream对象来管理输入流;
2.将该对象与特定的文件关联起来;
3.使用类似cin的>>方式读取数据。
关闭文件:当输入/输出流对象过期时,到文件的连接自动关闭;也可以调用函数close()显示关闭
is_open():检查文件是否被打开的新的C++方法
fstream fin;if(!fin.is_open()){ cout<<"error! open file!!"<<endl;}
文件模式:
ios_base::in 打开文件,读操作
ios_base::out 打开文件,写操作
ios_base::app 打开文件,追加写操作
ios_base::ate 打开文件,移到文件尾
完整示例:
#include<iostream>#include<fstream>#include<string>using namespace std;int main(){string filename = "HiFile.txt";string fileContents[5] = {"Hello","Mr.","Fan","How are you?"};ofstream fout(filename,ios_base::out);if(fout.is_open()){for(int i=0;i<10;i++){fout<<fileContents[i]<<"\n";}fout.close();}return 0;}
- 文件操作相关函数
- 文件操作相关的函数
- 文件权限相关操作函数
- linux文件操作相关函数
- pHp文件操作相关函数
- php文件操作相关函数
- fopen相关文件操作函数
- 文件相关的操作函数
- 文件的相关操作函数
- C文件操作相关函数解析
- C语言的文件操作相关函数
- C#文件、目录操作相关函数
- python操作目录、文件相关的函数
- C语言相关文件操作函数
- C#文件、目录操作相关函数
- C#文件、目录操作相关函数
- c语言文件操作相关函数
- C 文件操作及相关函数
- tensorflow表情识别:训练、参数固化、应用预测
- Java基础--I/O流--File类--删除
- Fastxml 简单常用注解学习笔记
- Android开发艺术探索——第八章:理解Window和WindowManager
- Linux I2C read eeprom 从应用层看系统
- 文件操作相关函数
- map中containsKey与get方法区别
- 算法导论 练习题 13.4-6
- 微信小程序:页面跳转
- 线程基础:多任务处理(13)——Fork/Join框架(解决排序问题)
- Sql Server系统数据库的作用
- POJ 1603 Risk 最短路 Floyd Dijstra
- 【数据结构_BFS_1069】图的深度优先录入
- Origin绘图后导出图片的方法