主题:如何将磁盘数据文件读入内存
思凡
[专家分:0] 发布于 2005-12-12 11:18:00
请问在C++Builder中,如何将磁盘文件读入内存?我的磁盘文件是一批数据,数据是Float型。各位大侠,小弟急用,拜托!谢谢。
回复列表 (共3个回复)
沙发
sopu7758 [专家分:0] 发布于 2005-12-12 11:47:00
fread命令,配合fopen/fclose/fseek命令。
但我不知道,是否任何后缀名的磁盘文件都可以这么读?
板凳
思凡 [专家分:0] 发布于 2005-12-12 14:35:00
使用fread命令,文件是流式文件,在打开方式中fopen的原形是fopen(*fp,const string,Origin).文件名的字符串是常量,要改变文件名必须在程序中改变,纯粹的C语言就是这样的,采用fscanf函数。但是我想做的是使用对话框控件,在程序运行过程中打开对话框中所选择的文件名。如果采用FileRead指令,只能一个个字节读进内存中。而一个浮点型数据占4个字节。FileRead指令读取二进制文件是可以的,但是读取ASCII码文件就是不行,读进内存的都是字符,比如磁盘上存放的是“3.1415926”,读进内存的形式就是'3' '.' '1' '4' '1' '5' '9' '2' 6' '\r' '\n'.内存中都放的字符。而非浮点型数据。这样很难办。
不管怎样还是谢谢sopu7758!请大家在帮我想想办法。
麻烦大家了!
3 楼
rudolf [专家分:440] 发布于 2005-12-12 15:15:00
你用二进制格式保存你的数据好了。
另外,你可以根据保存的数据类型确定每次读多少数据进来,然后再处理。
我来回复