65,213
社区成员
发帖
与我相关
我的任务
分享
#include <iostream>
#include <fstream>
#include <ctime>
using namespace std;
const int DATA_NUM = 100; // 文件中数据量
const int BUFFER_SIZE = 15; // 缓冲区大小
int g_inputBuffer[BUFFER_SIZE]; // 输入缓冲区
int g_ouputBuffer[BUFFER_SIZE]; // 输出缓冲区
void createData()
{
ofstream file_out("data");
srand((unsigned)time(0));
// 生成DATA_NUM个1000以内的随机整数写入文件中
for(int i = 1; i <= DATA_NUM; i++)
{
int data = rand() % 1000;
file_out << data << endl;
}
file_out.close();
}
void readData()
{
ifstream file_in("data",ios::binary);
while(!file_in.eof())
{
file_in.read((char*)g_inputBuffer, sizeof(int) * BUFFER_SIZE); // 用二进制方式读入文件,读入的大小是整个缓冲区的大小
int count = file_in.gcount(); // 读入的字节数?
cout << "读入的数量 : " << count << endl;
for (int i = 0 ; i < count ; i++)
cout << g_inputBuffer[i] << " ";
cout << endl;
}
file_in.close();
}
int main()
{
createData();
readData();
return 0;
}
void createData()
{
ofstream file_out("data");
srand((unsigned)time(0));
cout << "随机数 : ";
for(int i = 1; i <= DATA_NUM; i++)
{
int data = rand() % 1000;
cout << data << " ";
file_out.write((char*)(&data),sizeof(int));
}
cout << endl;
file_out.close();
}
void readData()
{
ifstream file_in("data",ios::binary);
while(!file_in.eof())
{
file_in.read((char*)g_inputBuffer, sizeof(int) * BUFFER_SIZE);
int count = file_in.gcount() / sizeof(int);
cout << "读入的数量 : " << count << endl;
for (int i = 0 ; i < count ; i++)
cout << g_inputBuffer[i] << " ";
cout << endl;
}
file_in.close();
}