生活技巧 | 烹饪美食 | 购物打折 | 装饰装修 | 法律常识 | 日常保健 | 寻医问药 | 心理健康 | 恋爱婚姻
生儿育女 | 瘦身减肥 | 亲子教育 | 职场纵横 | 培训考试 | 电脑常识 | 租房买房 | 居家理财 | 股票证券
家庭保险 | 美容化妆 | 数码常识 | 服饰搭配 | 旅游休闲 | 购车养车 | 健身运动 | 影视娱乐 | 宠物天地
  当前位置:鞍山都市网 >> 生活百科 >> 电脑常识 >> 浏览百科

如何读取.dat文件并以TXT文件形式输出

作者:    来源:本站原创    点击数:
 
已知.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这个变量就行了


 
上一篇:沙发这么好抢?沙发是什么意思?老看到这个词?
下一篇:用asp将ACCESS数据库中15位和18位身份证号批量转换为18位

 
 
最新信息
热点信息