當前位置:首頁 » 辦公資訊 » 怎樣讀取2進制的文件

怎樣讀取2進制的文件

發布時間: 2022-12-22 17:07:51

① vb.net二進制怎麼讀取文件

一、二進制文件讀寫

1、寫二進制數據到指定目錄

② C++中怎樣進行二進制文件的讀寫

#include
<fstream>

二進制文件
應該使用ofstream類,文件的打開模式一定要是
binary,如果傳入的不是
binary,
文件將以ASCII方式打開。
下面是示例代碼,用於寫入文件。
std::ofstream
fout("a.dat",
std::ios::binary);
int
nNum
=
20;
std::string
str("Hello,
world");
fout.write((char*)&nNum,
sizeof(int));
fout.write(str.c_str(),
sizeof(char)
*
(str.size()));
fout.close();
而寫
文本文件
則比較簡單,如下:
std::ofstream
fout("b.dat");
int
nNum
=
20;
std::string
str("Hello,
world");
fout
<<
nNum
<<","<<
str
<<
std::endl;
fout.close();
讀二進制文件
讀取二進制文件可以使用ifstream
類來進行,文件的打開模式一定要是
binary,如果傳入的不是
binary,
文件將以ASCII方式打開。
下面是示例代碼:
std::ifstream
fin("a.dat",
std::ios::binary);
int
nNum;
char
szBuf[256]
=
{0};
fin.read((char*)&nNum,
sizeof(int));
fin.read(szBuf,
sizeof(char)
*
256);
std::cout
<<"int
=
"<<
nNum
<<
std::endl;
std::cout
<<"str
=
"<<
szBuf
<<
std::endl;
fin.close();
二進制文件是指包含在
ASCII及擴展
ASCII
字元中編寫的數據或程序指令的文件。
計算機文件
基本上分為二種:二進制文件和
ASCII(也稱
純文本文件
),圖形文件及
文字處理
程序等
計算機程序
都屬於二進制文件,這些文件含有特殊的格式及計算機代碼。ASCII
則是可以用任何文字處理程序閱讀的
簡單文本
文件。
簡單的說
,如果一個文件專門用於存儲文本字元的數據,沒有包含字元以外的其他數據,我們就稱之為文本文件,除此之外的文件就是二進制文件。
廣義的二進制文件即指文件,由文件在外部設備的存放形式為二進制而得名。狹義的二進制文件即除文本文件以外的文件。文本文件是一種由很多行字元構成的計算機文件。文本文件存在於
計算機系統
中,通常在文本文件最後一行放置文件結束標志。文本文件的編碼基於字元
定長

解碼
相對要容易一些;二進制文件編碼是變長的,靈活利用率要高,而解碼要難一些,不同的二進制文件解碼方式是不同的。
從本質上來說他們之間沒有什麼區別,因為他們在硬碟上都有一種的存放方式--二進制,但是如果要對他們有些區分的話,那可以這樣理解。每個字元由一個或多個位元組組成,每個位元組都是用的-128—127之間的部分數值來表示的,也就是說,-128——127之間還有一些數據沒有對應任何字元的任何位元組。如果一個文件中的每個位元組的內容都是可以表示成字元的數據,我們就可以稱這個文件為文本文件,可見,文本文件只是二進制文件中的一種特例,為了與文本文件相區別,人們又把除了文本文件以外的文件稱為二進制文件,由於很難嚴格區分文本文件和二進制文件的概念,所以我們可以簡單地認為,如果一個文件專門用於存儲文本字元的數據,沒有包含字元以外的其他數據,我們就稱之為文本文件,除此之外的文件就是二進制文件。

③ linux 二進制文件怎麼打開

1、在Fedora桌面打開「Applications」-「System Tools」-「Terminal」打開命令終端,為vi編輯做准備。

④ 怎樣讀取資料庫中存儲的二進制圖片文件

下面我們將示例一個圖片文件讀取存儲至資料庫並從資料庫中讀取圖片信息並顯示的案例:
1、首先讀取硬碟上的某一具體圖片文件,讀取模式設置為readBinary方式:
<cffile
action
=
"readBinary"
file
=
"temp
directory
here#file.serverFile#"
variable
=
"test">
2、將讀取出來的二進制內容存儲至資料庫中(註:資料庫欄位需設置成能存儲圖片類型的欄位,如blob類型):
<cfquery
datasource
=
"datasource">
insert
into
imageTest
values
(<cfqueryparam
cfsqltype="cf_sql_blob"
value="#test#">)
</cfquery>
通過1、2兩個步驟,我們輕松實現了讀取圖片文件並存儲至資料庫的操作過程。
3、從資料庫中讀取圖片信息,該文件可命名為dispImage.cfm:
<!---
在此需特別注意enablecfoutputonly的壓縮空白功能,如果不對該頁面進行空白壓縮,很可能會造成圖片無法顯示的問題
--->
<cfprocessingdirective
suppressWhiteSpace="yes">
<cfsetting
enablecfoutputonly="yes">
<!---
讀取相應的圖片信息
--->
<cfquery
datasource
=
"datasource">
select
image
from
imageTest
where
variable
here#
</cfquery>
<!---
設置瀏覽器輸出的格式,我們將它設置為圖片的JPG類型,用戶可根據實際情況改動類型設置
--->
<cfcontent
type="image/jpg">
<!---
輸出圖片
--->
<cfoutput>#toString(imageTest.image)#</cfoutput>
</cfprocessingdirective>
<cfabort>
4、顯示圖片內容,調用dispImage.cfm頁面:
<img
src
=
"dispImage.cfm?id=your
variable
here">
通過3、4兩個步驟,我們也很容易的就完成了從資料庫中讀取圖片信息並在頁面顯示的功能。
總結:實際上,除了圖片文件可以如此處理,其它的文件也能通過類似方式進行處理,可將任意文件類型存儲至資料庫,只是文件大小的原因以及資料庫存儲讀取速度性能限制,我們基本上還是不建議將文件存儲至資料庫,畢竟硬碟讀取要快得多。

⑤ Matlab中如何實現二進制文件的讀寫

1)寫二進制文件
fwrite函數按照指定的數據精度將矩陣中的元素寫入到文件中。其調用格式為: COUNT=fwrite(fid,A,'precision')
說明:其中COUNT返回所寫的數據元素個數(可預設),fid為文件句柄,A用來存放寫入文件的數據,precision代表數據精度,常用的數據精度有:char、uchar、int、long、float、double等。預設數據精度為uchar,即無符號字元格式。 例6.8 將一個二進制矩陣存入磁碟文件中。 >> a=[1 2 3 4 5 6 7 8 9];
>> fid=fopen('d:\test.bin','wb') %以二進制數據寫入方式打開文件 fid =
3 %其值大於0,表示打開成功 >> fwrite(fid,a,'double') ans =
9 %表示寫入了9個數據 >> fclose(fid) ans =
0 %表示關閉成功

2)讀二進制文件
fread函數可以讀取二進制文件的數據,並將數據存入矩陣。其調用格式為: [A,COUNT]=fread(fid,size,'precision')
說明:其中A是用於存放讀取數據的矩陣、COUNT是返回所讀取的數據元素個數、fid為文件句柄、size為可選項,若不選用則讀取整個文件內容;若選用則它的值可以是下列值:N(讀取N個元素到一個列向量)、inf(讀取整個文件)、[M,N](讀數據到M×N的矩陣中,數據按列存放)。precision用於控制所寫數據的精度,其形式與fwrite函數相同。
%寫一維數據至數據文件 n=0:pi/10:4*pi; y=sin(n);
fip=fopen('C:\binary3.bin','wb'); fwrite(fip,Pxx,'double'); fclose(fip);

⑥ 如何讀取二進制文件

將文件以二進制模式打開,比如:fp=fopen("a.bin","rb");
利用二進制文件讀取函數讀取數據,比如:fread(buffer,1,256,fp);
關閉文件,fclose(fp);

⑦ 如何查看二進制文件的文件內容

1、網路搜索HexEditor.dll下載到本地,

⑧ c語言讀取二進制數據文件

1、二進制文本使用fopen函數的二進制模式「rb」就可以打開。對於程序來說,不管後綴名如何,文件分為兩種類型:文本文件和二進制文件。 C語言里有一系列文件操作函數。區分文本和二進制文件,需要在打開文件時設置不同的控制符mode的變數即可。

2、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 字元用來告訴函數庫打開的文件為二進制文件,而非純文字文件。

3、常式:

#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 ;
}

熱點內容
馬路上汽車的噪音在多少分貝 發布:2023-08-31 22:08:23 瀏覽:1974
應孕棒多少錢一盒 發布:2023-08-31 22:08:21 瀏覽:1444
標准養老金一年能領多少錢 發布:2023-08-31 22:05:05 瀏覽:1728
湖北通城接網線多少錢一個月 發布:2023-08-31 21:59:51 瀏覽:1804
開隨車吊車多少錢一個月 發布:2023-08-31 21:55:06 瀏覽:1570
京東付尾款怎麼知道前多少名 發布:2023-08-31 21:52:58 瀏覽:1897
在學校租鋪面一個月要多少錢 發布:2023-08-31 21:52:09 瀏覽:2034
2寸有多少厘米 發布:2023-08-31 21:50:34 瀏覽:1679
知道電壓如何算一小時多少電 發布:2023-08-31 21:46:20 瀏覽:1667
金手鐲54號圈周長是多少厘米 發布:2023-08-31 21:44:28 瀏覽:1832