struct定义:
#include "stdafx.h"
//内存对齐1字节
#pragma pack(1)
struct Day
{
int DateTime;
int Open;
int High;
int Low;
int Close;
};
#pragma pack()
指针读取:
// Test.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "Day.cpp"
#include <sys\stat.h>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
fstream f;
const char* filename = "e:\\t.dat";
f.open(filename,ios::binary|ios::in);
struct _stat info;
_stat(filename,&info);
int filesize = info.st_size;
const int SIZE_OF_DAY = sizeof(Day);
cout<<"sizeof(Day)="<<SIZE_OF_DAY<<endl;
const int days_count = filesize/sizeof(Day);
cout<<"day_count="<<days_count<<endl;
Day* day = new Day[days_count];
//Day* dayTemp=day;
for(int i=0;i<days_count;i++)
{
Day* p2Day = day + i;
f.read((char*)p2Day,SIZE_OF_DAY);
cout<<p2Day->DateTime<<endl;
cout<<p2Day->Close<<endl;
}
f.close();
delete[] day;
system("pause");
return 0;
}