打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
从文华财经Mytrader2009中读取数据 ? COS论坛 | 统计之都
userphoto

2013.11.14

关注

接abel的帖子,,,现日数据的破解如下:

#include <iostream>
#include <fstream>

using namespace std;

struct wenhua
{
int date;
float open;
float close;
float high;
float low;
float vol;
float openinterest;
float settleprice;
//float other;
//char c1[6];
};

void error(string errmsg){

cerr<<errmsg<<endl;
cin.get();
exit(1);
}

int main(int argc,char * argv[]){

if(3 != argc )
error("argument must be original dat and output csv");

int c=0;
////////////// try char offset !!! when c==5 success!!!!!/////////////
// while(c<100){
// c++;

ifstream in(argv[1],ios::binary);
if(!in) error("input dat error!");

ofstream out(argv[2],ios::out);
if(!out) error("output csv error!");

wenhua mywh;

int count = 0;

while(!in.eof() ){
in.read((char *)&mywh,sizeof(mywh));
time_t rawtime = mywh.date ;
struct tm * ptm = localtime(&rawtime);

char _date[20];
char _time[20];
memset(&_date,0,sizeof(_date));
memset(&_time,0,sizeof(_time));
sprintf(_date,"%d-%d-%d", ptm->tm_year+1900,ptm->tm_mon + 1,ptm->tm_mday);
sprintf(_time,"%d:%d:%d", ptm->tm_hour,ptm->tm_min,ptm->tm_sec);

cout<<_date<<' '<<_time<<' '<<mywh.date<<' '<<mywh.open<<' '<<mywh.high<<' '
<<mywh.low<<' '<<mywh.close<<' '<<mywh.vol<<' '
<<mywh.openinterest<<' '<<mywh.settleprice<<' '
<<endl;
out<<_date<<','<<mywh.close<<endl;

count++;

// cout<<"offset:"<<c<<endl;
/////////////////set c=5 when successful!!!////////////////
c=5;
char c1[c];
in.read((char *)c1,sizeof(c1));
//cout<<c1<<endl;
}
in.close();
out.close();
// cout<<endl;
// }
return 0;

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
C/C++时间函数的使用
C/C++中各种类型int、long、double、char表示范围(最大最小值)
c++指针经典应用,多年学习笔记,不看后悔
C++ 数据类型
sizeof用法总结(个人感觉非常好的一篇文章)
比较sizeof()与strlen()
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服