文件操作的基本顺序
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.文件操作的主要步骤
一、/打开文件
fstream// 文件流
ifstream// 输入文件流
ofstream// 输出文件流
ifstream infile(“c:\\test\\data”, ,ios::in|ios::binary);//以读方式打开二进制文件
0fstream outfile(“c:\\test\\data”, ,ios::out|ios::binary);//以写方式打开二进制文件
fstream f("d:\\12.dat",ios::in|ios::out|ios::binary);//以读写方式打开二进制文件
二、将数据从文件中读出存放到变量中
write函数把一个内存中的一块内容写到一个输出文件流中,长度参数指出写的字节数例如:
myfile.write((char*)&dt, sizeof(dt);此函数带两个参量一个char指针(指向内存数据的起始地址)和一个所写的字节数,在所写的例中前一个参数做了char的强制类型转换。write函数遇到空字符时并不停止。
read函数:
read成员函数从一个文件读字节到一个指定的存储区域,同长度参数确定要读的字节数,如果给出长度参数,当遇到文件结束或者在文本模式文件中遇到文件结束标记字符时读结束。
#include "stdafx.h"
#include
#include
#include
using namespace std;
struct student
{
int no;
char name[10];
double degree;
};
int main( )
{
struct student stud[3]={1,"王华",95.3,16,"李国强",98.4,8,"孙丽英",76}; struct student stud1[3];
fstream infile,outfile;
outfile.open("data.txt",ios::out|ios::binary);//建立进行写入的文件
if(!outfile) //没有创建成功则显示相应信息
{
cout<<"data.txt文件不能打开"< abort(); } for(int i=0;i<3;i++) //将内存中从stud[i]地址开始的sizeof(stud[i])的 内容写入文件中 outfile.write((char*)&stud[i],sizeof(stud[i])); outfile.close ();//关闭文件 infile.open ("data.txt",ios::in|ios::binary); if(!infile) { cout<<"data.txt文件不能打开"< abort(); } for( i=0;i<3;i++) //将文件中的 { infile.read ((char*)&stud1[i],sizeof(student));//从文件中读字节 到指定的存储器区域。 cout< < } infile.close (); return 0; } 三、关闭文件 例如infile.close ();