joomla 宠物网站模板,网站设计建设维护与更新,广州市规划建设局网站,iis 5 新建网站程序运行时产生的数据都属于临时数据#xff0c;程序一旦运行结束都会被释放
通过文件可以将数据持久化
C中对文件操作需要包含头文件 fstream 文件类型分为两种#xff1a; 文本文件 - 文件以文本的ASCII码形式存储在计算机中 二进制文件 - 文件以文本的二进制…
程序运行时产生的数据都属于临时数据程序一旦运行结束都会被释放
通过文件可以将数据持久化
C中对文件操作需要包含头文件 fstream 文件类型分为两种 文本文件 - 文件以文本的ASCII码形式存储在计算机中 二进制文件 - 文件以文本的二进制形式存储在计算机中用户一般不能直接读懂它们 操作文件的三大类: ofstream写操作 ifstream 读操作 fstream 读写操作 一、文本文件
1、写文件
写文件步骤如下 包含头文件 #include fstream 创建流对象 ofstream ofs; 打开文件 ofs.open(文件路径,打开方式); 写数据 ofs 写入的数据; 关闭文件 ofs.close();
文件打开方式
打开方式解释ios::in为读文件而打开文件ios::out为写文件而打开文件ios::ate初始位置文件尾ios::app追加方式写文件ios::trunc如果文件存在先删除再创建ios::binary二进制方式
注意 文件打开方式可以配合使用利用|操作符
例如用二进制方式写文件 ios::binary | ios:: out 示例 #include fstreamvoid test01(){ofstream ofs;ofs.open(test.txt, ios::out);ofs 姓名张三 endl;ofs 性别男 endl;ofs 年龄18 endl;ofs.close();}int main() {test01();system(pause);return 0;}
总结 文件操作必须包含头文件 fstream 读文件可以利用 ifstream 或者fstream类 打开文件时候需要指定操作文件的路径以及打开方式 利用可以向文件中写数据 操作完毕要关闭文件
2、读文件
读文件与写文件步骤相似但是读取方式相对于比较多 读文件步骤如下 包含头文件 #include fstream 创建流对象 ifstream ifs; 打开文件并判断文件是否打开成功 ifs.open(文件路径,打开方式); 读数据 四种方式读取 关闭文件 ifs.close(); 示例 #include fstream#include stringvoid test01(){ifstream ifs;ifs.open(test.txt, ios::in);if (!ifs.is_open()){cout 文件打开失败 endl;return;}//第一种方式//对于ifsbuf流输入方式存取其原则是当碰见空格之后就结束当前读取所以想要读取完文本内容就必须借助while当没有字符读入时结束文本读取。//char buf[1024] { 0 };//while (ifs buf)//{// cout buf endl;//}//第二种//对于ifs.getline读取方法和getline全局函数类似。也是按行读取并且当遇到‘\n’之后结束当前行读取。直到没有数据读取就结束当前文本读取。注读取的时候也会将空格读入数组在提取数据的时候就需要指定关键信息存取//char buf[1024] { 0 };//while (ifs.getline(buf,sizeof(buf)))//{// cout buf endl;//}//第三种//对于全局函数getline的用法由于该函数默认是一行一行的读取所以需要while循环来读取txt文本的所以内容当遇到‘\n’标志读取该行结束。当读取不到任何字符的时候就返回false可用于判断文件是否结束//string buf;//while (getline(ifs, buf))//{// cout buf endl;//}//第四种一次读取一个字符char c;while ((c ifs.get()) ! EOF){cout c;}ifs.close();}int main() {test01();system(pause);return 0;}
总结 读文件可以利用 ifstream 或者fstream类 利用is_open函数可以判断文件是否打开成功 close 关闭文件