空间数据库 第七章 数据库原理和VC++的文件系统.ppt
上传人:qw****27 上传时间:2024-09-12 格式:PPT 页数:39 大小:1.5MB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

空间数据库 第七章 数据库原理和VC++的文件系统.ppt

空间数据库第七章数据库原理和VC++的文件系统.ppt

预览

免费试读已结束,剩余 29 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第七章数据库原理和VC++的文件系统第七章C++的输入输出系统:I/O流库7.1C++的输入输出流为什么要有C++流类库为什么要有C++流类库流类库流类库的结构I/O流类继承层次I/O流类继承层次输出流和输出流对象流类库和流流类对象的操作带空格space的字符串的输入方法7.2磁盘文件的输入和输出1.打开文件Ios文件访问方式常量说明:2.关闭文件[例7.1]文件流被关闭7.2.2文本文件的读写操作[例5.20]从文本文件中读出文本信息Ans:[例5.21]单字符读写函数get()和put()for(intI=0;i<=strlen(str);i++)outfile.put(str[i]);outfile.close();infile.open("f3.dat",ios::in);if(!infile){cout<<"f3.datcan'topen.\n";abort();}charch;while(infile.get(ch))cout<<ch;cout<<endl;infile.close();}Ans:thisisaC++program.[例5.22]文件拷贝7.2.3二进制文件的读写操作[例5.23]对二进制文件读写操作for(inti=0;i<4;i++)outfile.write((char*)&people[i],sizeof(people[i]));outfile.close();infile.open("f5,dat",ios::in|ios::binary);if(!infile){cout<<"f5.datcan'topen.\n';abort();}for(i=0;i<4;i++){infile.read((char*)&people[i],sizeof(people[i]));cout<<people[i].name<<"\t"<<people[i].height<<"\t"<<people[i].age<<endl;}infile.close();}Ans:7.2.4随机访问数据文件例,假设input是一个istream类型的流:2.写指针[例5.24]读、写指针操作for(inti=0;i<15;i++)//每个int,占4个bytefile.write((char*)&i,sizeof(int));streampospos=file.tellp();cout<<"Currentbytenumber:"<<pos<<endl;for(i=15;i<45;i++)file.write((char*)&i,sizeof(int));file.seekg(pos);//输入文件,读file.read((char*)&i,sizeof(int));cout<<"Thedatastoredis"<<i<<endl;file.seekp(0,ios::beg);//输出文件,写for(i=80;i<100;i++)file.write((char*)&i,sizeof(int));file.seekg(pos);file.read((char*)&i,sizeof(int));cout<<"Thedatastoredis"<<i<<endl;cout<<"Currentbytenumber:"<<file.tellp()<<endl;}Ans:[例5.25]数组p320if(!file1){cout<<"f7.datcan'topen.\n";abort();}for(inti=0;i<5;i++)file1.write((char*)&stu[i],sizeof(student));file1.seekp(sizeof(student)*4);file1.read((char*)&one,sizeof(stu[i]));cout<<one.name<<"\t"<<one.number<<"\t"<<one.totalscord<<endl;file1.seekp(sizeof(student)*1);file1.read((char*)&one,sizeof(stu[i]));cout<<one.name<<"\t"<<one.number<<"\t"<<one.totalscord<<endl;file1.close();}Ans:下课了!休息一会!