无广告自助建站,wordpress 有道云笔记,重庆做网站建设的公司哪家好,怎么去做一个网站目录
一、文件操作
1. 文件类型分类#xff1a;
2. 操作文件的三大类
二、文本文件
1.写文件
2.读文件
三、二进制文件
1.写二进制文件
2.读二进制文件 一、文件操作
程序运行时产生的数据都属于临时数据,程序一旦运行结束都会被释放
通过文件可以将…目录
一、文件操作
1. 文件类型分类
2. 操作文件的三大类
二、文本文件
1.写文件
2.读文件
三、二进制文件
1.写二进制文件
2.读二进制文件 一、文件操作
程序运行时产生的数据都属于临时数据,程序一旦运行结束都会被释放
通过文件可以将数据持久化
C中对文件操作需要包含头文件 fstream
1. 文件类型分类
文本文件 -文件以文本的ASCII码形式存储在计算机中二进制文本 - 文件以文本的二进制形式存储在计算机中用户一般不能直接读懂他们
2. 操作文件的三大类
ofstream 写文加ifstream 读文件fstream读写操作
二、文本文件
1.写文件 1.包含头文件 #includefstream 2.创建流对象 ofstream ofs; 3.打开文件 ofs.open(文件路径,打开方式); 4.写数据 ofs写入数据; 5.关闭文件 ofs.close();
文件打开方式 打开方式 功能 ios::in 为读文件而打开文件 ios::out 为写文件而打开文件 ios::ate 初始位置文件尾 ios::app 以追加的方式写入 ios::trunc 如果文件存在先删除再创建一个新的 ios::binary 二进制方式写文件 注意
文件打开方式可以配合使用 利用 | 操作符(位或) 示例
#includeiostream#includefstreamusing namespace std;int main(){// 1. 包含头文件fstream// 2. 创建流对象 ofstream ofs;// 3. 打开文件 ofs.open(文件路径,打开方式)// 4. 写数据 ofs写入数据// 5. 关闭文件 ofs.close()ofstream ofs;ofs.open(E:/test.txt, ios::out); // 没有指定具体路径存放到当前项目的文件夹下ofs helo endl;ofs 文件操作 endl;ofs.close();return 0;}
结果示例 总结
文件操作必须包含头文件fstheam读文件可以利用 ofstream ,或者fstream类打开文件时候需要指定操作文件的路径,以及打开方式利用可以向文件中写数据操作完毕要关闭文件 2.读文件 1.包含头文件 #includefstream 2.创建流对象 ifstream ifs; 3.打开文件 ifs.open(文件路径,打开方式); 4.读数据 四种方式读取 5.关闭文件 ifs.close(); 示例
#includeiostream#includefstreamusing namespace std;int main(){// 1. 包含头文件fstream// 2. 创建流对象 ifstream ifs;// 3. 打开文件 ofs.open(文件路径,打开方式)// 4. 读数据 四种方式读取// 5. 关闭文件 ifs.close()ifstream ifs;ifs.open(E:/test.txt, ios::in);if( !ifs.is_open()){cout文件打开失败endl;//return;}// 第一种字符数组char buf[1024]{0};while(ifsbuf){coutbufendl;}// 第二种char buf1[1024]{0};// 获取一行while(ifs.getline(buf1,sizeof(buf1))){coutbuf1endl;}// 第三种字符串中string buf2;while(getline(ifs,buf2)){coutbuf2endl;}// 第四种一个一个读取没有一行一行读取快char c;// 判断是否读取到了文件的尾部while((c ifs.get())!EOF){ // end of filecoutc;}ifs.close();return 0;}
运行结果
第一种 第二种 第三种 第四种 总结
读文件可以利用ifstream或者fstream类利用is._open函数可以断文件是否打开成功close关闭文件 三、二进制文件
1.写二进制文件
打开方式要指定为ios::binary二进制方式写文件主要利用流对象调用成员函数write函数原型ostream write(const char* buffer, int len);参数字符指针buffer指向内存中一段存储空间len是读写得到字节数 示例
#includeiostream#includefstream#includestringusing namespace std;class person{public:char Name[64];int Age;};int main(){// 打开的方式要指定为 iOSbinary// 函数原型 ostream write(const char *buffer,int len);// 1. 包含头文件// 2. 创建流对象ofstream ofs;// 3. 打开文件ofs.open(E:/text.txt,ios::out|ios::binary);// 4. 写文件person p {张三,18};ofs.write((const char *)p,sizeof(p));// 5. 关闭文件ofs.close();return 0;} 运行结果示例 2.读二进制文件
二进制方式读文件主要利用流对象调用成员函数read函数原型itream read(char* buffer, int len);参数字符指针buffer指向内存中一段存储空间len是读写的字节数 示例
#includeiostream#includefstream#includestringusing namespace std;class person{public:char Name[64];int Age;};int main(){// 打开的方式要指定为 iOSbinary// 函数原型 istream read(const char *buffer,int len);// 1. 包含头文件// 2. 创建流对象ifstream ifs;// 3. 打开文件 判断文件是否读取成功ifs.open(E:/text.txt,ios::in|ios::binary);if(!ifs.is_open()){return 0;}// 4. 读文件person p ;ifs.read((char *)p,sizeof(p));cout姓名: p.Nameendl年龄: p.Ageendl;// 5. 关闭文件ifs.close();return 0;}
运行结果