文件操作头文件<fstream>
文件类型分为两种
1.文本文件——文件以文本的ASCII码形式存储在计算机中
2.二进制文件——文件以文本的二进制形式存储在计算机中,用户一般不能直接读懂它们
操作文件的三大类:
1. ofstream:写操作
2. ifstream: 读操作
3. fstream : 读写操作
写文件:
步骤:
创建流对象(ofstream ofs;) 👉 打开文件 (ofs.open("文件路径",打开方式)); 👉写数据(ofs. << "写入的数据"; ) 👉 关闭文件(ofs.close();)
注意与cin >>的区分,此处的写入是<<
如果是用二进制的方式: ofs .open("text.txt",ios::out | ios:: binary); //使用| 分割
对于上述”打开方式“,参数表如下:
读文件:
创建流对象(ifstream ifs;) 👉 打开文件 (ofs.open("文件路径",打开方式)); 👉3种读取方式 👉 关闭文件 ifs.close();
3种读取方式
第一种:
char buf[1024] = { 0 };
while (ifs >> buf ){ // 读到头了会返回false
cout << buf <<endl;
}
第二种:
char buf [1024] = {0 };
while (ifs.getline(buf ,sizeof(buf)) )
{
cout <<buf <<endl;
}
第三种:
string buf ;
while (getline(ifs, buf )) //此处的getline与上面的不同,这里是一个全局函数
{
cout <<buf <<endl;
}