wordpress网站教程,免费客源软件,中能建西北城市建设门户网站,重庆发布微信公众号文章目录文件操作文本文件写文件读文件二进制文件写文件读文件文件操作
程序运行时产生的数据都属于临时数据#xff0c;程序一旦运行结束都会被释放#xff1b; 通过文件可以将数据持久化#xff1b; c中对文件操作需要包含头文件
文件类型分为两种#xff1a; 1、文本文…
文章目录文件操作文本文件写文件读文件二进制文件写文件读文件文件操作
程序运行时产生的数据都属于临时数据程序一旦运行结束都会被释放 通过文件可以将数据持久化 c中对文件操作需要包含头文件
文件类型分为两种 1、文本文件——文件以文本的ASCII码形式存储在计算机中 2、二进制文件——文件以文本的二进制形式存储在计算机中用户一般不能直接读懂它们。
操作文件的三大类 1、ofstream写操作 2、ifstream读操作 3、fstream读写操作。
文本文件
写文件
写文件步骤 1、包含头文件 #include 2、创建流对象 ofstream ofs; 3、打开文件 ofs.open(“文件路径”,打开方式); 4、写数据 ofs“写入的数据”; 5、关闭文件 ofs.close();
文件打开方式 注意 文件打开方式可以配合使用利用|操作符 例如用二进制方式写文件ios::binary | iostream::out
#includeiostream
using namespace std;
//1、包含头文件fstream
#includefstreamvoid test()
{//2、创建流对象ofstream ofs;//3、指定打开方式ofs.open(test.txt, ios::out);//4、写内容ofs 姓名张三 endl;ofs 性别男 endl;ofs 年龄18 endl;//5、关闭文件ofs.close();
}int main()
{test();system(pause);return 0;
}总结 1、文件操作必须包含头文件fstream 2、读文件可以利用ofstream或者fstream类 3、打开文件时候需要指定操作文件的路径以及打开方式 4、利用可以向文件中写数据 5、操作完毕要关闭文件。
读文件
读文件步骤 1、包含头文件 #include 2、创建流对象 ifstream ifs; 3、打开文件并判断文件是否打开成功 ifs.open(“文件路径”,打开方式); 4、读数据 四种方式读取 5、关闭文件 ifs.close();
#includeiostream
using namespace std;
#includestring
//1、包含头文件fstream
#includefstreamvoid test()
{//2、创建流对象ifstream ifs;//3、打开文件并且判断是否打开成功ifs.open(test.txt, ios::in);if (!ifs.is_open()){cout 文件打开失败 endl;return;}//4、读数据四种方式//第一种char buf[1024] { 0 };while (ifs buf){cout buf endl;}//第二种/*char buf[1024] { 0 };while (ifs.getline(buf, sizeof(buf))){cout buf endl;}*///第三种/*string buf;while (getline(ifs, buf)){coutbufendl;}*///第四种//char c;//while ((c ifs.get()) ! EOF)//EOFend of file//{// cout c;//}//5、关闭文件ifs.close();
}int main()
{test();system(pause);return 0;
}总结 1、读文件可以利用ifstream或者fstream类 2、利用is_open函数可以判断文件是否打开成功 3、close关闭文件。
二进制文件
以二进制的方式对文件进行读写操作。 打开方式要指定为 ios::binary
写文件
二进制方式写文件主要利用流对象调用成员函数write 函数原型ostream write(const char* buffer,int len) 参数解释字符指针buffer指向内存中一段存储空间。len是读写的字节数。
#includeiostream
using namespace std;
//1、包含头文件
#includefstreamclass person
{
public:char m_name[64];//姓名int m_age;//年龄
};void test()
{//2、创建流文件ofstream ofs;//3、打开文件ofs.open(person.txt, ios::out | ios::binary);//也可以23步合并成//ofstream ofs(person.txt, ios::out | ios::binary);//4、写文件person p { 张三,18 };ofs.write((const char*)p, sizeof(person));//5、关闭文件ofs.close();
}int main()
{test();system(pause);return 0;
}总结 文件输出流对象可以通过write函数以二进制方式写数据。
读文件
二进制方式读文件主要利用流对象调用成员函数read 函数原型istream read(char* buffer,int len); 参数解释字符指针buffer指向内存中一段存储空间。len是读写的字节数。
#includeiostream
using namespace std;
//1、包含头文件
#includefstreamclass person
{
public:char m_name[64];//姓名int m_age;//年龄
};void test()
{//2、创建流文件ifstream ifs;//3、打开文件判断文件是否打开成功ifs.open(person.txt, ios::in | ios::binary);if (!ifs.is_open()){cout 文件打开失败 endl;return;}//4、读文件person p;ifs.read((char*)p, sizeof(person));cout 姓名 p.m_name \t 年龄 p.m_age endl;//5、关闭文件ifs.close();
}int main()
{test();system(pause);return 0;
}总结 文件输入流对象可以通过read函数以二进制方式读数据。