A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张宁 中级黑马   /  2013-2-25 20:15  /  2954 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

如何查看C语言的二进制文件

6 个回复

倒序浏览
不知道..但是我知道怎么看C语言的汇编语言代码
回复 使用道具 举报
在linux中用od命令,参数-d,输出十进制,-x输出十六进制
回复 使用道具 举报
楼主问题的意思是用JAVA来读取查看c语言的二进制文件么?

\\假设文件的地址为a.txt
FileInputStream in=new FileInputStream(new File("a.txt"));
byte[] buffer=new byte[4096];
int offset=0;
while((offset=in.read(buffer)>-1){
      //这已经把文件读入到buffer中了,范围为0到offset,你可以做任何处理了
   
}
in.close();
回复 使用道具 举报
“如何查看C语言的二进制文件”:
分析:
1、C语言的二进制文件与普通的二进制文件一样
2、如何查看二进制文件
3、二进制文件都是01,我们看上去云里雾里,所以我们想看的是编码后的代码
回复 使用道具 举报
对于C语言 其实它的编程思想和语法都和java有很大区别的 我之前学的就是C++ 我来回答你得问题,希望对你有帮助!
对于查看二进制文件 有以下几个语法
“rb”
只读打开一个二进制文件,只允许读数据
“wb”
只写打开或建立一个二进制文件,只允许写数据
“ab”
追加打开一个二进制文件,并在文件末尾写数据 “rb+”
读写打开一个二进制文件,允许读和写
“wb+”
读写打开或建立一个二进制文件,允许读和写
“ab+”
读写打开一个二进制文件,允许读,或在文件末追加数据
在打开一个文件时,如果出错,fopen将返回一个空指针值NULL。在程序中可以用这一信息来判别是否完成打开文件的工作,并作相应的处理。因此常用以下程序段打开文件:
f((fp=fopen("c:\\hzk16","rb")==NULL)
{
printf("\nerror on open c:\\hzk16 file!");
getch();
exit(1);
}
这段程序的意义是,如果返回的指针为空,表示不能打开C盘根目录下的hzk16文件,则给出提示信息“error on open c:\ hzk16 file!”,下一行getch()的功能是从键盘输入一个字符,但不在屏幕上显示。在这里,该行的作用是等待,只有当用户从键盘敲任一lose函数返回值为0。如返回非零值则表示有错误发生。  

为了方便你理解 我给你举出一个例子:

void read_write_file()
{
const int MAXLEN =1024;
FILE * outfile, *infile;
outfile = fopen("F:\\training video\\_back\\2.wmv", "wb" );
infile = fopen("F:\\training video\\_back\\1.wmv", "rb");
unsigned char buf[MAXLEN];
if( outfile == NULL || infile == NULL )
{  
//  printf(%s, %s,argv[1],not exit\n);  
exit(1);
}   
int rc;
while( (rc = fread(buf,sizeof(unsigned char), MAXLEN,infile)) != 0 )
{  
fwrite( buf, sizeof( unsigned char ), rc, outfile );
}  
fclose(infile); fclose(outfile); cout<<"read,write success"<<endl;
}

评分

参与人数 1黑马币 +12 收起 理由
Rancho_Gump + 12 赞一个!

查看全部评分

回复 使用道具 举报
颜春 中级黑马 2013-2-27 17:18:50
7#
在对文件操作的时候,我们常常会对二进制文件进行操作,比如对图象文件等的文件进行操作就会牵涉到对二进制文件的操作,其实在C语言中,我们依然可以使用fopen()函数来对二进制文件进行打开操作,当然在各个参数的使用上当然会不同。

具体语法依然为FILE *fopen(const char *filename,const char *mode);不过这里这个mode使用的参数就和打开普通文件使用的参数有所不同了,这里可以使用rb(打开二进制文件进行读操作),wb(创建二进制文件进行写操作),ab(向二进制文件追加数据),r+b(打开二进制文件进行读/写操作),w+b(创建二进制文件进行读/写操作),a+b(追加二进制文件进行读/写操作),比如,我们要打开文件abc来进行写操作,代码可以是:FILE *fp; fp=fopen(“abc”,”wb”);
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马