導航:首頁 > 編程知識 > c編程中怎麼自動識別二進制文件

c編程中怎麼自動識別二進制文件

發布時間:2025-05-29 12:32:47

⑴ MFC讀取二進制文件

|讀寫二進制文件參考代碼:版
CFile rfile,wfile;
if(!權rfile.Open(_T("c://notepad.exe"),CFile::modeRead))
return 1;
if(!wfile.Open(_T("c://ee.exe"),CFile::modeCreate|CFile::modeWrite))
return 1;
BYTE buf[1024];
UINT readed;
while((readed=rfile.Read(buf,1024))>0)
{
wfile.Write(buf,readed);
}
rfile.Close();
wfile.Close();

⑵ 如何快速讀取二進制文件


快速讀取二進制文件的方法如下:
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、對文件操作完畢後別忘了關閉文件。

⑶ C語言怎麼讀取二進制文件中的數據放到一個300×300的二維數組裡面

用 fopen 打開文件時 設 "rb" --用二進制方法打開,用於讀
用 fread 讀取數據,函數原型是:
size_t fread ( void * ptr, size_t size, size_t count, FILE * stream );
各參數意義,請查編譯器幫助文件,這里就不開課了。
300×300 的數組需要的內存量較大,可動態分配,或用 全局量。
下面是程序例子。先建了一個2進制文件,裡面存了300*300個float型數據。然後讀這個文件里的內容。
#include<stdio.h>
float a[300][300];
int main()
{
FILE *fin, *fout;
int i,j;
for (j=0;j<300;j++) for (i=0;i<300;i++) a[j][i]=j*100+i;
fout=fopen("a.txt","wb");
for (j=0;j<300;j++)
fwrite(&a[j][0],sizeof(float),300,fout);
fclose(fout);
for (j=0;j<300;j++) for (i=0;i<300;i++) a[j][i]=0; //數組清零
fin=fopen("a.txt","rb"); //打開輸入文件
for (j=0;j<300;j++)
fread(&a[j][0],sizeof(float),300,fin); //讀文件
fclose(fin); //關閉文件
// 下面輸出文件的左上角100個數據,和右下角100個數據供檢查參考。
for (j=0;j<10;j++) {
for (i=0;i<10;i++)printf("%3.0f ",a[j][i]); printf("\n");}
printf("\n");
for (j=290;j<300;j++){
for (i=290;i<300;i++)printf("%g ",a[j][i]); printf("\n");}
return 0;
}

閱讀全文

與c編程中怎麼自動識別二進制文件相關的資料

熱點內容
servlet資料庫連接 瀏覽:795
重慶java培訓機構排名 瀏覽:515
刪除uc文件中的視頻文件 瀏覽:858
美圖軟體文件夾分組名稱 瀏覽:766
在手機上如何把文件裡面的移出來 瀏覽:884
如何用電腦編程看vip電視劇 瀏覽:646
win7漫遊配置文件 瀏覽:340
如何取消xp共享密碼 瀏覽:844
sms網格如何保存為dat文件 瀏覽:406
arcgisjs圖層順序 瀏覽:587
怎麼查找電腦里的視頻文件在哪裡設置 瀏覽:343
word文檔表格字體下沉 瀏覽:92
wn10如何查看陰藏文件 瀏覽:891
男性護理app 瀏覽:612
編程掉頭發嚴重怎麼辦 瀏覽:903
蘋果下載必須輕點繼續 瀏覽:473
word2007關閉郵件 瀏覽:320
看以前的港劇哪個app好用 瀏覽:947
能看見共享的文件夾但不能訪問 瀏覽:60
建文件下什麼軟體 瀏覽:781

友情鏈接