C++文件操作概要1.ppt

C文件操作概要1

二进制文件操作 C++的文件类对象可能通过成员函数read( )和write( )实现对二进制文件的读写操作是的,函数的原型为: read(char *buf, int size); 功能:从文件中读取由size所指定的字节数据到buf所指向的存储单元中。 write(char *buf, int size); 功能:将由buf所指向的存储单元中的size个字节数据写入到文件中。 * 向文件输出2到500之间的偶数 #includeiostream #includefstream using namespace std; int main(int) { ofstream outfile(d:\\data.txt,ios::out|ios::binary); if(!outfile){ cout不能打开输出文件:data.dat\n; exit(-1); } for(int i=2;i=500;i+=2) outfile.write((char *)i,sizeof(int)); outfile.close( ); return 0; } * 以二进制模式输出至c:\data.txt文件 将整数的地址转换成字符型指针 向文件输出2到500之间的偶数 #includeiostream #includefstream using namespace std; int main(int) { ifstream infile(d:\\data.txt,ios::binary); if(!infile){ cout不能打开输入文件:data.dat\n; exit(-1);} int a[250]; infile.read((char *)a,sizeof(int)*250); for(int i=0;i250;i++){ couta[i]\t; if((i+1)%10==0) cout\n;} cout\n; infile.close( ); system(pause); return 0;} * 以二进制模式输出至d:\data.txt文件 将整数的地址转换成字符型指针 随机文件访问 在文件信息区中存在一个用于指示当前文件读取位置的指针变量,称为文件定位指针,C++语言不仅允许按文件中信息的先后顺序来进行读写,同时也允许从文件中的任何位置开始进行数据的读写操作,这种读写方式就称为文件的随机访问。C++的istream和ostream类中分别提供了几个支持文件随机访问的成员函数。 * istream istream (输入文件)类: seekg(long streampos); 将文件定位指针移动到strampos所指定的位置。 seekg(long streamoff, seek_dir); 将文件定位指针按seek_dir确定的方向移动streamoff位置; tellg( ); 返回输入文件中,文件定位指针当前的位置。 * ostream ostream (输出文件)类: seekp(long streampos); 将文件定位指针移动到strampos所指定的位置。 seekp(long streamoff, seek_dir); 将文件定位指针按seek_dir确定的方向移动streamoff位置; tellp( ); 返回输出文件中,文件定位指针当前的位置。 * Seek_dir 枚举常量值 功能 ios::beg 0 文件开头 ios::cur 1 文件指针的当前位置 ios::end 2 文件尾 文件指针移动 infile.seekg(500); //文件定位指针移到距文件头500个字节处 infile.seekg(-100,ios::cur); //文件定位指针从当前位置前移100个字节 infile.seekg(100,ios::cur); //文件定位指针从当前位置后移100个字节 outfile.seekp(-100,ios::end); //文件定位指针从文件尾开始前移100个字节 前移:指文件定位指针从文件尾向文件头方向移动(streamoff为负值); 后移:指文件定位指针从文件头向文件尾方向移动; 移动文件指针时,必须保证移动后的指针值大于0且小于等于文件尾字节编号,否则将导致接着的输入输出操作失败。 * 随机访问样例 #includeiostream #includefstream using namespace std; int main() { ofstream outfile(

文档评论(0)

1亿VIP精品文档

相关文档