第七章C++输入输出流.ppt
文本预览下载声明
int main() { Score score1(“0”, 80, 90, 70),score2(“1”);//定义两个成绩对象 ofstream outfile(“data.txt”,ios::out);//定义一个文件输出流对象 if (!outfile) //若打开失败则结束程序 { cout File open Error endl; return -1; } outfile score1; //成绩对象1写文件 outfile.close(); ifstream infile(“data.txt”,ios::in); //定义一个文件输入流对象 if (!infile) //若打开失败则结束程序 { cout File open Error endl; return -1; } infile score2; //将数据读到成绩对象2中 infile.close(); score1.display(); score2.display(); return 0; } 程序输出结果: 学号:0 英语成绩:80 数学成绩:90 语文成绩:70 学号:0 英语成绩:80 数学成绩:90 语文成绩:70 7.4.3二进制文件操作 read成员函数和write成员函数的原型分别是: istreamread(char * bu, int len); ostreamwrite( const char * bu, int len); 字符指针bu指向内存要读或写的数据起始位置。len是一次要读写的数据字节个数(数据长度)。 调用格式: 输入文件流对象.read( 内存首地址, 字节数); 输出文件流对象.write( 内存首地址, 字节数); 二进制文件不用流插入运算符和流提取运算符读写文件,而用成员函数read和write读写文件。 7.4.3二进制文件操作 ——写文件 以二进制方式 打开文件 用成员函数write写文件 关闭文件 一个例子: ofstream outfile(“data.bin”,ios::binary); int num1 = 100; double num2 = 99.01; char text[20] = hello world!; outfile.write((char*)num1, sizeof(int)); outfile.write((char*)num2, sizeof(double)); outfile.write((char*)text, sizeof(text)); outfile.close(); #includefstream using namespace std; int main() { int num1 = 100; double num2 = 99.01; char text[20] = hello world!; ofstream outfile(data.bin, ios::binary); outfile.write((char*)num1, sizeof(int)); outfile.write((char*)num2, sizeof(double)); outfile.write((char*)text, sizeof(text)); outfile.close(); return 0; } 以上程序会在程序当前路径上创建文件data.bin,然后在文件中将num1,num2,text在内存中的二进制数据写入文件。 //文件输出流对象ofstream在//文件fstream中声明 7.4.3二进制文件操作 ——写文件 练习:定义三个变量:英语成绩,数学成绩,语文成绩,由用户输入此三个数字,然后将这三个成绩保存到二进制文件data.bin中。 #includefstream//声明流对象ofsteam的头文件 #include iostream//声明流对象cout和cin的头文件 using namespace std; int main() { ofstream out
显示全部