|
filename is stock_struct.h
- 1 #ifdef
- 2
- 3 struct record
- 4 {
- 5 char code[8]; //股票代码
- 6 char name[8]; //股票名称
- 7 long date; //日期
- 8 long open; //开盘价(千手)
- 9 long high; //最高价(千手)
- 10 long low; //最低价(千手)
- 11 long close; //收盘价(千手)
- 12 long money; //成交额(千元)
- 13 long volume; //成交量(手)
- 14 long serial; //记录序号
- 15 };
- 16
- 17 #endif
复制代码
- 1 //本程序是解压通用数据股票的程序。
- 2 //把当天的日线数据解压为以每股为单位的数据文件
- 3
- 4 #include <stdio.h>
- 5 #include <stock_struct.h>
- 6
- 7 main(int argc, char *argv[])
- 8 {
- 9// unsigned char str_name[14]="\0";
- 10 FILE *fp,*sub_fp;
- 11 struct record day_data;
- 12 unsigned int i = 1,temp;
- 13
- 14 if((fp = fopen(argv[1],"rb")) == NULL) //打开原始文件
- 15 {
- 16 printf("没找到文件或没有参数\n");
- 17 exit(0);
- 18 }
- 19 while(!feof(fp))
- 20 {
- 21 fread(&day_data, sizeof(struct record), 1, fp);
- 22 if(day_data.serial == i)
- 23 {
- day_data.code[0] = day_data.code[7] = '"';
- 24 if((sub_fp = fopen(day_data.code,"wb")) == NULL)
- 25 {
- 26 printf("创建文件失败\n");
- 27 exit(0);
- 28 }
- 29 i++;
- 30 if((temp = fwrite(&day_data, sizeof(struct record), 1, sub_fp)) == NULL)
- 31 {
- 32 printf("写入失败\n");
- 33 exit(0);
- 34 }
- 35 fclose(sub_fp);
- 36 }
- 37 }
- 38 fclose(fp);
- 39 }
- 40
复制代码 |
|