关于数据存储!
我做工控的时候要定时存储试验数据,如果每秒钟存储一组数据的话,几个小时下来就有几百K,我存储的格式是文本(.txt),文件几十K的时候记事本就不能打开了,改成用写字板打开,要是上兆的话估计写字板也带不开了,请高手指点怎么解决这个问题。如果一个文件大小超过100K就停下来换成一个新文件名存储,怎么实现这种切换文件的控制啊!如有其它解决方法也行。
请各位大侠指点。
问题点数:30、回复次数:4Top
1 楼tinderman(塞外飞鹄)回复于 2002-10-05 08:57:51 得分 5
提个思路:
1、用个数据库试试。
2、在INI文件中存当前使用的文件名(文件名+流水号.txt)。每次写文件时取文件大小,如果超过100k,则将INI文件中文件名的流水号取出累加,改写文件名并启用这个新的文件名。(取文件大小用GetFileSize()API函数).Top
2 楼lcj49997(panda)回复于 2002-10-05 09:29:34 得分 0
谢谢楼上的兄弟,我试试
不想使用数据库,哪位大侠还有高招啊,请指教Top
3 楼lifuming(忧黑)回复于 2002-10-05 09:38:47 得分 5
用二进制文件也许可以,这样它的存储空间相对要少一些,如果还不能满足要求就用数据库吧!Top
4 楼yunan(余南)回复于 2002-10-09 21:42:52 得分 20
很奇怪你用的什么机器?
我做的工作和你相似。不过我生成的几M的数据文本文件用
记事本都可以打开啊。是不是你的机器太破了?
如果非要换名字的话也不是什么难事么。
你自己在程序里当然能够判断什么时候一个文件写满了100K ,到了
100K就关闭这个文件,在打开一个新文件就完了嘛。文件的名字可以是
String filename;
int i=0;
i++;
filename="abc_"+IntToStr(i)+".txt";
这样文件名就依次是abc_1.txt abc_2.txt 等等
Top




