|
已知.dat为数据类
有请高手解决
----------------------------------------------------------------------
如果.dat文档是ascii格式 用txt文档打开既是
如果是二进制的话, 看你怎么读了, 一次一个byte°还是怎么着 然后fprintf就可以了
--------------------------------------------------------
不知道.dat的数据格式的话读出来差不多也是乱码
--------------------------------------------------------
freshui(五月的风 -最近老犯困)
请教能读成这类格式吗 2007/01/05 1765.00 1802.00 1765.00 1799.00 165982.00 158066.00 2007/01/08 1800.00 1806.00 1792.00 1799.00 148236.00 165826.00 2007/01/09 1794.00 1818.00 1790.00 1803.00 260380.00 171586.00
--------------------------------------------------------
1. 必须知道.dat文件是什么格式的 2. 你想从.dat中读什么内容 3. 读出的内容以什么格式写入.txt文件
--------------------------------------------------------
.dat 格式也是数据类的 想从.dat 中读数据 像这样的格式 写入TXT 2007/01/05 1765.00 1802.00 1765.00 1799.00 165982.00 158066.00 2007/01/08 1800.00 1806.00 1792.00 1799.00 148236.00 165826.00 2007/01/09 1794.00 1818.00 1790.00 1803.00 260380.00 171586.00 时间 开盘 最高 最低 收盘 成交量 持仓量
--------------------------------------------------------
二进制读取, 二进制写文件即可。
--------------------------------------------------------
如果格式需要改变, 那么需要分析 文件格式, 根据格式读写就是了 。。。。。。。。。
--------------------------------------------------------
怎样分析文件格式呀, 晕
--------------------------------------------------------
貌似都是文本类型的,那用fscanf读入,fprintf输出到txt
--------------------------------------------------------
没有那么简单, 直接输出的话, 是乱码
--------------------------------------------------------
那请问什么才算是二进制读取,写入呢??
--------------------------------------------------------
#include<stdio.h> #include <string.h>
int main(int argc, char* argv[], char *env[]) { FILE* pf = fopen("G:\\c\\1.dat","r"); FILE* pf2 = fopen("G:\\c\\22.txt","w"); char c[20]={0}; char d[6][20]; while (EOF!=fscanf(pf,"%s%s%s%s%s%s%s",c,&d[0],&d[1],&d[2],&d[3],&d[4],&d[5])) { printf("%f\n",d[0]); fprintf(pf2,"%s\t%s\t%s\t%s\t%s\t%s\t%s\n",c,d[0],d[1],d[2],d[3],d[4],d[5]); memset(d,0,6*20); memset(c,0,20); }
fclose(pf); fclose(pf2); return 0; }
--------------------------------------------------------
我感觉好像二进制读取, 文本写入 但是不知道你那.dat里面具体什么东西, 不好判断 如果是加密的东西, 你还要解密
如果就是二进制的数据, 按照对应项的字节数读取到变量中, 然后用fprintf这个变量就行了
|