read()从二进制文件读取指定记录号的数据

来源:互联网 发布:秦美人翅膀升级数据 编辑:程序博客网 时间:2024/06/16 00:54
#include<iostream>#include<fstream>using namespace std;int main(){ int i=0,a[10];// int a[10]={0};//for(int i=0;i<9;i++)//{//a[i+1]=a[i]*20+i+1;//cout<<a[i]<<endl;//}//ofstream rs1("ok2002com.txt");//ofstream rs2("ok2002com.bin",ios::binary);//for(int i=0;i<9;i++)//{//rs1<<a[i]<<" ";//rs2.write((char*)(&a[i]),sizeof(a[i]));//cout<<"rs.tellp("<<i<<")="<<rs1.tellp()<<",";//cout<<"rs2.tellp("<<i<<")="<<rs2.tellp()<<endl;//} ifstream rs("ok2002com.bin",ios::binary); cout<<"输入所要读取的记录号:"; cin>>i; rs.seekg(i*sizeof(a[i])); rs.read((char*)(&a[i]),sizeof(a[i])); cout<<a[i]<<endl; rs.close();}/*--------------------------------●建议将此文件(读二进制文件)与(写二进制文件)配套使用,即先用写二进制文件的C++程序生成二进制文件ok2002com.bin,再用读二进制文件的C++程序读取二进制文件ok2002com.bin中的数据,●说明:二进制文件ok2002com.bin用记事本方式(即文本方式)打开时为乱码,因为二进制文件不能用文字处理程序阅读、编辑或修改。●写二进制文件的C++程序源代码地址:http://www.ok2002.com/cc_htm/ok2002com_of_cc_171.htm

0 0