65,180
社区成员




- #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();
}