📄 subject_26009.htm
字号:
<p>
序号:26009 发表者:剑月明 发表日期:2002-12-27 16:43:14
<br>主题:我想以二进制读取一个文件,并修改某数值,该如何进行?
<br>内容:我想修改一个二进制文件内的数值,比如 abc.bin :<BR>00 00 00 01 00 00 00<BR>读取其中的01,并在编辑栏里显示出来,改好后存档,<BR>该怎么办啊?thank
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:bb 回复日期:2002-12-27 17:54:04
<br>内容:void main()<BR>{<BR> char ch;<BR> int n;<BR> FILE* fp=fopen("abc.bin", "rb+"); <BR> if(fp==NULL)<BR> return; //error.<BR> fseek(4, SEEK_SET);<BR> fread(&ch, 1,1 ,fp); <BR> <BR> printf("%d", ch);<BR> n=1000;<BR> while(n>256 && n<0)<BR> scanf("%d", &n);<BR> ch=(char)n;<BR> fseek(4, SEEK_SET);<BR> fwrite(&ch, 1,1, fp);<BR> fclose(fp);<BR>}<BR> <BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:tjhe 回复日期:2002-12-27 22:42:59
<br>内容:编一个二进制的编辑程序(SDI),类似VC以16进制方式打开其他文件,只是每行显示4个字节的内容:<BR>00 00 00 01 00 00 00 00 00 01 00 00 00 00 00 00 <BR><BR>以二进制打开文件逐字节读取,将字节中的每一位转换成对应的字符(ASCII码):如某位为0则转换为字符'0',某位为1则转换为字符'1'.(编一个转换函数),这样形成的字符串长度是原文件长度的8倍,该字符串用于编辑修改,修改完后用相反过程转换成二进制形式并保存。<BR><BR><BR>视类的基类为CEditView.重载CEditView的函数:<BR> void ReadFromArchive(CArchive& ar, UINT nLen);<BR> void WriteToArchive(CArchive& ar);<BR>这几个函数完成读取和保存的工作。(可参考..\mfc\src\viewedit.cpp修改)<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:剑月明 回复日期:2002-12-27 23:08:40
<br>内容:thanks<BR>呵呵早想做个修改器了,谢了。。。。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -