📄 filebin3.cpp
字号:
//这个程序在本书所带软盘中,文件名为FILEBIN3.CPP
//这个程序演示二进制文件的输入/输出。
#include <fstream.h>
#include <stdlib.h>
#include <iomanip.h>
#define size 10
void main(void)
{
fstream file; //定义一个输出/输入文件
int int_array[size] = {34, 56, 12, 32, 19, 80, 76, 54, 81, 40};
int sum = 0;
float avg, average;
file.open("data.bin", ios::binary|ios::out); //建立一个二进制文件,
//规定做输出操作
if (!file) { //检查文件建立是否成功
cout << "建立文件错误。检查文件盘后再试..." << endl;
exit(1);
}
for (int i = 0; i < size; i++)
sum += int_array[i];
avg = (float)sum / size;
file.write((char *)int_array, size*sizeof(int));//将数组中所有单元的值
//写到二进制文件中
file.write((char *)&sum, sizeof(sum)); //将数组和写到二进制文件中
file.write((char *)&avg, sizeof(avg)); //将平均值写到二进制文件中
file.close();
file.open("data.bin", ios::in); //打开二进制文件
if (!file) {
cout << "打开文件错误。检查文件盘后再试..." << endl;
exit(1);
}
while(file.peek() != EOF) {
file.read((char *)int_array, size*sizeof(int));
//将文件中的10个整数值读入数组
for(i = 0; i < 10; i++)
cout << "int_array[" << i << "] = " << int_array[i] << endl;
file.read((char *)&sum, sizeof(sum)); //读入一个数据
cout << "sum = " << sum << endl; //显示这个数据
file.read((char *)&average, sizeof(average));
cout << "average = " << average << endl;
}
file.close();
}
/*这个程序运行后将显示如下输出结果:
int_array[0] = 34
int_array[1] = 56
int_array[2] = 12
int_array[3] = 32
int_array[4] = 19
int_array[5] = 80
int_array[6] = 76
int_array[7] = 54
int_array[8] = 81
int_array[9] = 40
sum = 484
average = 48.4
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -