C++讀取文件,將文件內容讀取到struct中

p34f 9年前發布 | 1K 次閱讀 C/C++

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

 本文由用戶 p34f 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!