24小时热门版块排行榜    

查看: 2182  |  回复: 6
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

cw277

木虫 (正式写手)

[交流] 【求助】请问一下 c++有没有按位读取文件的方法或者语句? STL里有没有这样的功能? 已有5人参与

1.像matlab : I=fread(fid,N,'ubit1');  'ubit1' 是 按1bit 读取文件  

2. 能不能把文件读到一个vector里 ,怎么实现?

[ Last edited by cw277 on 2010-6-1 at 09:11 ]
回复此楼
感谢生活让我慢慢学会控制自己的情绪,学会包容与忍耐,学会不再去期待
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

magic7004

金虫 (职业作家)


wangen994(金币+1):感谢参与应助 2010-06-05 08:29:48
不明白楼主所谓的按字节读取是什么意思,不过对楼主来说一次读取一个字节和一次读取100个字节有什么区别呢?
流氓不可怕,可怕的是流氓有文化,有文化又BH的流氓无敌~~!
4楼2010-06-02 09:20:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 7 个回答

yalefield

金虫 (文坛精英)

老汉一枚


余泽成(金币+1):谢谢参与应助! 2010-06-01 08:59:35
cw277(金币+1):谢谢~~ 2010-06-01 19:25:29
按位读取?C/C++没有咯。
其实,文件存贮,按位的话,不论空间效率还是时间效率都是得不偿失的。

文件存贮,最好是按字节(Byte),或者按字(Word),这是基本单位。
实际程序读、写文件,最好是一大块数据。
例如,有一个数组,有100个元素,
那就一次(一个语句)写入文件,而不要一个一个地(100个语句)写入。
读也是一次(一个语句),一下子都读出来。

至于指针变量,你既不应该把它写入文件,也不应该从文件读出来。
你所能做的,是把指针所指的那个东西写入文件;
读出时,先准备好指针,再为指针分配变量,足够容纳你要读的那个东西,然后再读。

按照这个基本过程,一个矢量该怎么读写,你应该懂的。

[ Last edited by yalefield on 2010-6-1 at 10:18 ]
2楼2010-06-01 01:53:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

holmescn

金虫 (正式写手)


resonant(金币+1):感谢参与。 2010-06-01 15:04:29
cw277(金币+1):谢谢!如果能举个例子, 把一个文件按字节读到vecotr里就更好 ! 2010-06-01 19:26:29
按位读取本身是不能实现的,即使是MATLAB也是假实现。方法是按字节读取,然后切分成位。所以C++、C也可以用同样的方法实现。

vector的话,可以读到一个buffer里,然后append到vector。
3楼2010-06-01 14:04:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yalefield

金虫 (文坛精英)

老汉一枚

★ ★
余泽成(金币+2):谢谢分享经验!外国老板还是大方些,呵呵! 2010-06-02 09:55:10
引用回帖:
Originally posted by magic7004 at 2010-06-02 09:20:29:
不明白楼主所谓的按字节读取是什么意思,不过对楼主来说一次读取一个字节和一次读取100个字节有什么区别呢?

在现在的计算机系统上,

一次读取一个字节,和一次读取100个字节,确实没有区别,
因为现在都是“一大块一大块”地读取。这一大块,也许是512个字节咯。

但是,100次读取一个(相同或者不同的)字节,与一次读取100个字节,那还是有区别地咯。

缓冲技术也许能帮忙,不过,那是在读取连续字节,或者时间上连续。
如果一会儿读一个字节,一会儿再读一个字节,OMG,I'm going to kill U.

俺曾试过,用VC++ 1.5的CString处理英汉词典,大约2、3秒。
用一个本科生写的“慢四步”代码(名字是俺起的,因为它向前读1、2个字节,再后退3、4个字节),2、3个小时也没折腾完。

为了俺这几行代码,澳大利亚的小老板给了俺3000元。
5楼2010-06-02 09:41:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 估计是周四 +3 archvillain 2026-08-18 3/150 2026-08-21 01:48 by jnhyjjm
[基金申请] 基金啊基金 +3 longfie172 2026-08-20 3/150 2026-08-21 00:04 by wuchongjun
[基金申请] 科研孤儿太难了 +14 我4大白菜 2026-08-20 15/750 2026-08-20 22:33 by 袁向阳007
[基金申请] 时间戳变了,能看出什么问题? +18 基诺咪客 2026-08-17 23/1150 2026-08-20 17:19 by Godzela
[基金申请] 只有每年这种时候来逛逛小木虫 +21 yaoyewhu2008 2026-08-20 22/1100 2026-08-20 17:03 by yaoyewhu2008
[基金申请] 放榜前的不淡定 40+3 snowwithsea 2026-08-19 12/600 2026-08-20 15:56 by lfy8008
[基金申请] 重要消息,中午系统在维护 +11 yuleib84 2026-08-18 12/600 2026-08-20 11:09 by xskun
[基金申请] 今天基金会出结果吗?20260819 +14 kkkl_v 2026-08-19 15/750 2026-08-20 08:21 by sunzitan
[教师之家] 为什么余额宝的年化利率越来越低?主要原因有哪些? +5 瞬息宇宙 2026-08-15 5/250 2026-08-19 20:23 by super2002521
[基金申请] 今天放榜没戏了吧 +4 yuleib84 2026-08-19 5/250 2026-08-19 19:52 by hhs666
[基金申请] filecode=后面第一个是大写字母 +10 wangze12014 2026-08-14 12/600 2026-08-19 16:56 by 苦难博士
[基金申请] 2027广东省杰青 +4 奶牛小黑 2026-08-15 10/500 2026-08-19 11:02 by wanfengnew
[基金申请] 快农历七夕节了,轻松一下,男人悄悄话,女施主请不要进来。 +6 Tide man 2026-08-14 7/350 2026-08-19 09:56 by ZJTJZ
[基金申请] 什么时候开奖? +6 CrisMessi 2026-08-18 6/300 2026-08-19 08:06 by Equinoxhua
[基金申请] 明天放榜? +5 Shxjjxjkx 2026-08-18 5/250 2026-08-18 18:14 by -大大大大大-
[论文投稿] 投稿咨询 +4 wwm09 2026-08-17 6/300 2026-08-18 15:36 by wwm09
[基金申请] 今天维护系统维护 祝所有人 高中 +8 gjjjzhong 2026-08-18 9/450 2026-08-18 13:01 by 家与远方
[基金申请] 感觉是下周放榜了 +6 angus9576 2026-08-17 11/550 2026-08-17 23:57 by angus9576
[精细化工] 招聘 金属平磨液,抛光液研发工程师 +3 小天0311 2026-08-14 3/150 2026-08-16 07:31 by H9PLUS
[基金申请] 各位道友,我要去昆明玩几天,回来见。 +7 Tide man 2026-08-14 8/400 2026-08-15 01:11 by arzu_hma
信息提示
请填处理意见