📄 ex_file.cpp
字号:
#include<iostream.h>
#include<fstream.h>
#include<iomanip.h>
#include <stdlib.h>
void output_file(fstream &);
void main()
{
fstream file;
char name[4][8]={"mary","tom","john","judy"};
int id[4]={100,200,300,400};
file.open("list.dat",ios::out|ios::in|ios::binary|ios::trunc);
if(!file)
{
cerr<<"can't open file !\n";
exit(1);
}
for(int i=0;i<4;i++)
{
file.write((char*)&id[i],sizeof(int));
file.write(name[i],8*sizeof(char));
}
char tname[8];
int tid;
int record_size=sizeof(int)+8*sizeof(char);
file.seekg(0,ios::end);
cout<<"record size:"<<record_size<<" file size:"<<file.tellg()<<endl;
output_file(file);
cout<<"Record no.3:"<<endl;
cout<<setw(4)<<setiosflags(ios::right)<<"ID"<<setw(8)<<setiosflags(ios::right)<<"name"<<endl;
cout<<"--------------------------------------------\n";
file.seekg(record_size*2,ios::beg);
file.read((char*)&tid,sizeof(int));
file.read(tname,8*sizeof(char));
cout<<setw(4)<<setiosflags(ios::right)<<tid<<setw(8)<<setiosflags(ios::right)<<tname<<endl;
char str[8]="herry";
file.seekp(record_size*2+sizeof(int),ios::beg);
file.write(str,8*sizeof(char));
cout<<"\nafter updating...\n";
output_file(file);
file.close();
}
void output_file(fstream& file)
{
char name[8];
int id;
file.seekg(0,ios::beg);
cout<<setw(4)<<setiosflags(ios::right)<<"ID"<<setw(8)<<setiosflags(ios::right)<<"name"<<endl;
cout<<"--------------------------------------------\n";
file.read((char*)&id,sizeof(int));
file.read(name,8*sizeof(char));
while(!file.eof())
{
cout<<setw(4)<<setiosflags(ios::right)<<id<<setw(8)<<setiosflags(ios::right)<<name<<endl;
file.read((char*)&id,sizeof(int));
file.read(name,8*sizeof(char));
}
file.clear();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -