C++读取文件,将文件内容读取到struct中

清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>

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;
}