在编程中如何能能获得股票的数据例如当前价,最高价,最低价,当前成交量等等 2022-01-19 11:43:38 股票问答 1 次评论 95 在编程中如何能能获得股票的数据 例如当前价,最高价,最低价,当前成交量等等
第①楼 虚竹2020 - 回答 2022-01-19 12:37:00 要看使和什么数据了,每个软件数据的存储格式不同,有的还是加密存储的(如指南针)。以常见的钱龙数据来说吧(钱龙是最简单的存储格式)当前价,最高价,最低价,当前成交量等等都是以随机文件存储的长整型数据。下面是读取钱龙数据的C源码,你可以参考一下:#include <stdio.h> #include <conio.h> #include <stdlib.h> typedef struct { ------->定义数据类型unsigned long date; ------->定义日期为长整unsigned long open; ------->定义开盘为..unsigned long high; ------->定义最高为..unsigned long low; ------->定义最低为..unsigned long close; ------->定义收盘为..unsigned long travl; ------->定义成交量..unsigned long traca; ------->定义成交额..char unuse[12]; } RECORD; RECORD reco;int readrec(FILE *); void main() {FILE *fp; if((fp = fopen("000001.day","rb")) == NULL) // 打开深发展日线 { printf("Error: Can't open 000001.DAY !\n"); exit(0); } readrec(fp);fclose(fp); if(getch()==0) getch();exit(0);}int readrec(FILE *fp){float fn; while (! feof(fp)) { fread(&reco,sizeof(RECORD),1,fp);printf("%10lu ",reco.date); fn=float(reco.open)/1000; printf("%8.2f ",fn); fn=float(reco.high)/1000; .printf("%8.2f ",fn); .fn=float(reco.low)/1000; .printf("%8.2f ",fn); .fn=float(reco.close)/1000; . printf("%8.2f ",fn); .printf("%8lu ",reco.travl); .printf("%8lu\n",reco.traca); }printf("\n"); return 0;
第①楼 虚竹2020 - 回答
要看使和什么数据了,每个软件数据的存储格式不同,有的还是加密存储的(如指南针)。以常见的钱龙数据来说吧(钱龙是最简单的存储格式)当前价,最高价,最低价,当前成交量等等都是以随机文件存储的长整型数据。下面是读取钱龙数据的C源码,你可以参考一下:#include <stdio.h> #include <conio.h> #include <stdlib.h> typedef struct { ------->定义数据类型unsigned long date; ------->定义日期为长整unsigned long open; ------->定义开盘为..unsigned long high; ------->定义最高为..unsigned long low; ------->定义最低为..unsigned long close; ------->定义收盘为..unsigned long travl; ------->定义成交量..unsigned long traca; ------->定义成交额..char unuse[12]; } RECORD; RECORD reco;int readrec(FILE *); void main() {FILE *fp; if((fp = fopen("000001.day","rb")) == NULL) // 打开深发展日线 { printf("Error: Can't open 000001.DAY !\n"); exit(0); } readrec(fp);fclose(fp); if(getch()==0) getch();exit(0);}int readrec(FILE *fp){float fn; while (! feof(fp)) { fread(&reco,sizeof(RECORD),1,fp);printf("%10lu ",reco.date); fn=float(reco.open)/1000; printf("%8.2f ",fn); fn=float(reco.high)/1000; .printf("%8.2f ",fn); .fn=float(reco.low)/1000; .printf("%8.2f ",fn); .fn=float(reco.close)/1000; . printf("%8.2f ",fn); .printf("%8lu ",reco.travl); .printf("%8lu\n",reco.traca); }printf("\n"); return 0;