-
如何打开二进制文件
- 时间:2024-11-23 17:04:02
大家好,今天Win10系统之家小编给大家分享「如何打开二进制文件」的知识,如果能碰巧解决你现在面临的问题,记得收藏本站或分享给你的好友们哟~,现在开始吧!
1.如何读取二进制文件
快速读取二进制文件的方法如下: 1、打开文件。 打开文件可以有两种方式,第一种可以使用fstream类的构造函数。fstream file("test.dat",ios_base::in|ios_base::out|ios_base::app); 另外一种方法就是使用 open函数。fstream file;file.open("test.dat",ios_base::in|ios_base::out|ios_base::app); 这样就可以打开一个可读写的文件了。如果文件不存在的话,就会创建一个新文件并且以读写方式打开。这里需要说明一点,如果文件不存在的话,open函数中第二个参数必须包含ios_base::out|ios_base::app,否则就不能正确创建文件。 2、写文件。 先进性写文件的操作否则读一个空文件是没有意义的。 既然是写二进制文件可以向文件中写入一个整形值。写二进制字符只能使用write 函数。但是write函数的原形是write(const char * ch, int size)。第一个参数是char * 类型,所以需要把将要写入文件的int类型转换成char *类型。这里的转换困扰了我好几天,不过终于弄明白了。代码如下。int temp; file.write((char *)(&temp),sizeof(temp)); 3、读文件。 可以写文件了,读文件就好办多了。读文件需要用到read函数。其参数和write 大致相同,read(const char * ch, int size)。要把内容读到int类型变量中同样涉及到一个类型转换的问题。和写文件一样。int readInt; file.read((char(&readInt),sizeof(readInt)); 这样文件中的int值就读入到int型变量 readInt中了。 4、文件指针。 在文件的读写过程中往往需要对文件进行选择性读取。所以需要进行文件指针的移动。这是需要用到seekg和seekp函数。在fstream类中有两个文件指针,一个是读取文件的指针 ,一个是写文件的指针分别用tellg和tellp文件来取得指针的位置。同样seekg和seekp两个函数分别是对这两个指针进行移动的函数。这两个函数的参数都是一样的。先对几个枚举类型进行一下说明: ios_base::beg ——文件开始位置ios_base::cur ——文件当前位置ios_base::end ——文件末尾位置下面以seekg为例说明一下指针移动的方法:file.seekg(3) ——指针移动到第三个字符的位置file.seekg(ios_base::beg) ——指针移动到文件开头file.seekg(ios_base::end) ——指针移动到文件末尾file.seekg(-3,ios_base::cur) —— 指针当前位置向前移动三个字符file.seekg(3,ios_base::cur) ——指针当前位置向后移动三个字符file.seekg(3,file.tellg()) ——指针当前位置向后移动三个字符file.seekg(file.tellg()+3) ——指针当前位置向后移动三个字符 5、对文件操作完毕后别忘了关闭文件。
2.如何用ultraedit以二进制形式查看txt文件
cfg文件是配置文件,常常命名为*。没有固定的打开方式1。用途也仅仅是保存用户的设置:注册表。一般用notepad(记事本)就可以打开。
大多数情况下,日志文件…… 而很多程序都使用了一个专用的文件,特性的文件。
2。为了方便起见,比如QUAKE的config.一般是软件的配置文件。
但要看具体什么软件
cfg /,可以用ultraedit查看其内容,没有固定格式,这只是一个为开发及使用方便而“发明”的一个后缀名.cfg,都是软件作者自定义的参数配置,为了方便起见,可能是二进制文件。可以用任何文本编辑器打开,也可能是文本文件
3,系统或应用软件用于进行配置自己功能,有时甚至直接命名为Config,很多程序都要保存用户的设置。
所以,平常没有必要打开;config的缩写
这种文件没有固定的格式.cfg.cfg.通常配置文件的扩展名,里面的内容大多数时候也确实是文本,办法有很多。
同样,其实也并不能算作是一种文件类型
3.如何快速读取二进制文件
快速读取二进制文件的方法如下:
1、打开文件。
打开文件可以有两种方式,第一种可以使用fstream类的构造函数。fstream file("test.dat",ios_base::in|ios_base::out|ios_base::app); 另外一种方法就是使用
open函数。fstream file;file.open("test.dat",ios_base::in|ios_base::out|ios_base::app);
这样就可以打开一个可读写的文件了。如果文件不存在的话,就会创建一个新文件并且以读写方式打开。这里需要说明一点,如果文件不存在的话,open函数中第二个参数必须包含ios_base::out|ios_base::app,否则就不能正确创建文件。
2、写文件。
先进性写文件的操作否则读一个空文件是没有意义的。
既然是写二进制文件可以向文件中写入一个整形值。写二进制字符只能使用write
函数。但是write函数的原形是write(const char * ch, int size)。第一个参数是char *
类型,所以需要把将要写入文件的int类型转换成char *类型。这里的转换困扰了我好几天,不过终于弄明白了。代码如下。int temp; file.write((char *)(&temp),sizeof(temp));
3、读文件。
可以写文件了,读文件就好办多了。读文件需要用到read函数。其参数和write
大致相同,read(const char * ch, int size)。要把内容读到int类型变量中同样涉及到一个类型转换的问题。和写文件一样。int readInt; file.read((char(&readInt),sizeof(readInt)); 这样文件中的int值就读入到int型变量
readInt中了。
4、文件指针。
在文件的读写过程中往往需要对文件进行选择性读取。所以需要进行文件指针的移动。这是需要用到seekg和seekp函数。在fstream类中有两个文件指针,一个是读取文件的指针
,一个是写文件的指针分别用tellg和tellp文件来取得指针的位置。同样seekg和seekp两个函数分别是对这两个指针进行移动的函数。这两个函数的参数都是一样的。先对几个枚举类型进行一下说明:
ios_base::beg ——文件开始位置ios_base::cur ——文件当前位置ios_base::end ——文件末尾位置下面以seekg为例说明一下指针移动的方法:file.seekg(3) ——指针移动到第三个字符的位置file.seekg(ios_base::beg) ——指针移动到文件开头file.seekg(ios_base::end) ——指针移动到文件末尾file.seekg(-3,ios_base::cur) ——
指针当前位置向前移动三个字符file.seekg(3,ios_base::cur) ——指针当前位置向后移动三个字符file.seekg(3,file.tellg()) ——指针当前位置向后移动三个字符file.seekg(file.tellg()+3) ——指针当前位置向后移动三个字符
5、对文件操作完毕后别忘了关闭文件。
4.C++中怎么打开一个二进制文件
1、使用fopen函数的二进制模式“rb”就可以打开一个二进制文件。
fopen的函数原型:FILE * fopen(const char * path,const char * mode);
fopen函数的第一个参数是文件路径,第二个参数是打开方式,有以下几种方式:
r 以只读方式打开文件,该文件必须存在。
r+ 以可读写方式打开文件,该文件必须存在。
rb+ 读写打开一个二进制文件,允许读数据。
rw+ 读写打开一个文本文件,允许读和写。
w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。
w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。(EOF符保留)
a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。 (原来的EOF符不保留)
wb 只写打开或新建一个二进制文件;只允许写数据。
wb+ 读写打开或建立一个二进制文件,允许读和写。
wt+ 读写打开或着建立一个文本文件;允许读写。
at+ 读写打开一个文本文件,允许读或在文本末追加数据。
ab+ 读写打开一个二进制文件,允许读或在文件末追加数据。
上述的形态字符串都可以再加一个b字符,如rb、w+b或ab+等组合,加入b 字符用来告诉函数库打开的文件为二进制文件,而非纯文字文件。
2、例程:
#include <stdlib.h>
#include <stdio.h>
int main ()
{
FILE * fpPhoto, * fpText, * fpTarget ;
int iRead ;
char szBuf[100] ;
printf ("请输入第一个文件名(jpg):\n") ;
gets (szBuf) ;
fpPhoto = fopen (szBuf, "rb") ;
printf ("请输入第二个文件名(txt):\n") ;
gets (szBuf) ;
fpText = fopen (szBuf, "rb") ;
printf ("请输入目的文件名(jpg):\n") ;
gets (szBuf) ;
fpTarget = fopen (szBuf, "wb") ;
if (!fpPhoto || !fpText || !fpTarget)
{
printf ("打开文件失败!\n") ;
system("pause") ;
return -1 ;
}
while ((iRead = fread (szBuf, 1, sizeof (szBuf), fpPhoto)) > 0)
fwrite (szBuf, 1, iRead, fpTarget) ;
while ((iRead = fread (szBuf, 1, sizeof (szBuf), fpText)) > 0)
fwrite (szBuf, 1, iRead, fpTarget) ;
fclose (fpPhoto) ;
fclose (fpText) ;
fclose (fpTarget) ;
return 0 ;
}
以上就是关于「如何打开二进制文件」的全部内容,本文讲解到这里啦,希望对大家有所帮助。如果你还想了解更多这方面的信息,记得收藏关注本站~
『Win10系统之家www.GHost580.net①独♂家使用,转载请注明出处!』
相关文章
-
1.如何读取二进制文件快速读取二进制文件的方法如下:1、打开文件。打开文件可以有两种方式,第一种可以使用fstream类的构造函数。fstreamfile("test.dat",ios_base::in|ios_base::out|ios_base::app);另外一种方法就是...
-
1.win8系统的运行命令都有哪些Win8系统运行命令:1.explorer:打开资源管理器2.Firewall.cpl:Windows防火墙3.FXSCOVER:传真封面编辑器4.fsmgmt.msc:共享文件夹管理器5.gpedit.msc:组策略6.hdwwiz.cpl:设备管理器7.ine...
-
1.设备管理器在哪,设备管理器怎么打开方法一:按住win+r,打开【运行】,输入devmgmt.msc命令。设备管理器此时就会马上弹出,这是最快捷的方法,但是必须记住这个命令符(devicemanagement)方法二:1、右键桌面的【计算机】图标,...
-
1.怎样解决1920×1080win10应用程序字体模糊怎么办新安装了Windows10之后,发现Windows10里面的所有程序界面的字体是模糊的,看起来很不舒服,分辨率也是设置好了的,显卡驱动也装好了。Win10字体显示模糊的解决方法:工具...