zoukankan      html  css  js  c++  java
  • C++读取文件,将文件内容读取到struct中

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

      

  • 相关阅读:
    Dll版本管理
    线程池ThreadPool
    关于sitemesh和freemark在struts2中的一些问题总结
    Google 怎么搜索
    android 设计模式
    android webview
    ios 基础数据类型
    android 常用
    android Handler vs Timer
    网站
  • 原文地址:https://www.cnblogs.com/yukaizhao/p/cpp_file_struct.html
Copyright © 2011-2022 走看看