24小时热门版块排行榜    

查看: 1915  |  回复: 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的回帖

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的回帖
查看全部 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的回帖

magic7004

金虫 (职业作家)


wangen994(金币+1):感谢参与应助 2010-06-05 08:29:48
不明白楼主所谓的按字节读取是什么意思,不过对楼主来说一次读取一个字节和一次读取100个字节有什么区别呢?
流氓不可怕,可怕的是流氓有文化,有文化又BH的流氓无敌~~!
4楼2010-06-02 09:20:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 333求调剂 +5 87639 2026-03-21 7/350 2026-03-21 19:31 by ColorlessPI
[考研] 考研化学学硕调剂,一志愿985 +5 张vvvv 2026-03-15 7/350 2026-03-21 19:23 by ColorlessPI
[考研] 求助 +5 梦里的无言 2026-03-21 6/300 2026-03-21 17:51 by 学员8dgXkO
[考研] 298求调剂 +4 上岸6666@ 2026-03-20 4/200 2026-03-21 17:14 by 学员8dgXkO
[考研] 材料与化工(0856)304求 B区 调剂 +3 邱gl 2026-03-21 3/150 2026-03-21 13:47 by lature00
[考研] 求调剂 +3 白QF 2026-03-21 3/150 2026-03-21 13:12 by zhukairuo
[考研] 0856材料专硕353求调剂 +3 NIFFFfff 2026-03-20 3/150 2026-03-21 10:23 by luoyongfeng
[考研] 华东师范大学-071000生物学-293分-求调剂 +3 研究生何瑶明 2026-03-18 3/150 2026-03-21 01:30 by JourneyLucky
[考研] 一志愿重庆大学085700资源与环境专硕,总分308求调剂 +3 墨墨漠 2026-03-18 3/150 2026-03-21 00:39 by JourneyLucky
[考研] 22408 344分 求调剂 一志愿 华电计算机技术 +4 solanXXX 2026-03-20 4/200 2026-03-20 23:49 by alg094825
[考研] 308求调剂 +3 阿姐阿姐家啊 2026-03-18 3/150 2026-03-20 23:24 by JourneyLucky
[考研] 295复试调剂 +8 简木ChuFront 2026-03-19 8/400 2026-03-20 20:44 by zhukairuo
[考研] 085410人工智能专硕317求调剂(0854都可以) +4 xbxudjdn 2026-03-18 4/200 2026-03-20 09:07 by 不168
[考研] 一志愿福大288有机化学,求调剂 +3 小木虫200408204 2026-03-18 3/150 2026-03-19 13:31 by houyaoxu
[考研] 一志愿985,本科211,0817化学工程与技术319求调剂 +10 Liwangman 2026-03-15 10/500 2026-03-19 10:25 by 无际的草原
[考研] 344求调剂 +6 knight344 2026-03-16 7/350 2026-03-18 20:13 by walc
[考博] 26博士申请 +3 1042136743 2026-03-17 3/150 2026-03-17 23:30 by 轻松不少随
[考研] 301求调剂 +4 A_JiXing 2026-03-16 4/200 2026-03-17 17:32 by ruiyingmiao
[考研] 材料工程专硕274一志愿211求调剂 +6 薛云鹏 2026-03-15 6/300 2026-03-17 11:05 by 学员h26Tkc
[考研] 321求调剂 +5 大米饭! 2026-03-15 5/250 2026-03-16 16:33 by houyaoxu
信息提示
请填处理意见