#include "iostream"
#include "fstream"
using namespace::std;
int main()
{
//文件名一般用全基类,书写的方法如下:
//1)"D:\data\bin\test.dat" //错误。
//2)R"(D:\data\bin\test.dat)" //原神字面量。
//3)"D:\\data\\bin\\test.dat“ //转义字符。
//4)"D:/data/bin/test.dat" //把斜线反着写。
//5)"/data/bin/test.dat" //linux小问题采用的方法。
//string filename=R"(D:\data\bin\test.dat)";
//char filename[]=R"(D:\data\bin\test.dat)";
//创建文件输入流对象,打开文件,如果文件不存在,则打开文件失败。
//ios::in 缺省值
//ios::binary 以二进制的方式打开文件。
//ifstream fin(filename,ios::binary)
//ifstream fin(filename,ios::in|ios::binary)
ifstream fin("test.dat",ios::in|ios::binary);
if(fin.is_open()== false)
{
cout<<"打开文件text。dat失败。\n";
return 0;
}
struct st_girl
{
char name[31];//姓名
int no;//编号
char memo[301];//备注
double weight;//体重
}girl;
while(fin.read((char *)&girl,sizeof (girl)))
{
cout<<"name="<<girl.name<<"no="<<girl.no<<"memo="<<girl.memo<<"weight="<<girl.weight<<endl;
}
fin.close();
cout<<"文件操作完成。\n";
}
name=西施no=3memo=中国历史第一美女。weight=45.8
name=冰冰no=8memo=也是个大美女哦。weight=55.2
文件操作完成。
发表回复