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

2018-07-20    来源:open-open

容器云强势上线!快速搭建集群,上万Linux镜像随意使用

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

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

上一篇:C++使用内存映射文件入门

下一篇:Sql Server 分区sql