⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ex_file.cpp

📁 这我们老师对是面向对象程序设计(清华大学出版社)一书制作的PPT
💻 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 + -