判斷乙個檔案為文字檔案還是二進位制檔案

2021-05-22 01:42:07 字數 701 閱讀 9591

依次讀出檔案中的位元組,如果存在'/0'則是二進位制檔案, 否則為ascii文字檔案!

**實現如下:

bool isasciifile(lpctstr lpfilepath)

;widechartomultibyte(cp_acp, wc_compositecheck, lpfilepath, -1, cfile, sizeof(cfile), null, null);

if(cfile==null)

struct stat f_stat;

if(stat(cfile,&f_stat) == -1)

long lngfilesize = 0;

lngfilesize = (long)f_stat.st_size;

if(lngfilesize <= 0)

file *ft;

fopen_s(&ft, cfile, "rb");

if(ft==null)

char btdata[1];

long lngreadpos;

long lngmaxread = 40960;

if(lngmaxread > lngfilesize)

for(lngreadpos = 1;lngreadpos <= lngmaxread;lngreadpos++)

}fclose(ft);

return true;

}

原創 如何判斷檔案為文字檔案還是二進位制檔案

最近寫乙個程式用於讀取stl檔案 一種三維檔案格式 並顯示出來。stl檔案儲存格式有乙個特殊點就是分兩種型別,一種是ascii檔案型別,一種是二進位制檔案型別。ascii檔案型別的,裡面就是一些字串,描述了三維三角麵片的座標和法向量。二進位制檔案和ascii基本一致,不過是按照二進位制的方式按位來讀...

判斷乙個文字檔案的編碼格式

不同編碼的文字,是根據文字的前兩個位元組來定義其編碼格式的。定義如下 ansi 無格式定義 unicode 前兩個位元組為fffe unicode big endian 前兩位元組為feff utf 8 前兩位元組為efbb 檔案的字符集在windows下有兩種,一種是ansi,一種unicode。...

判斷乙個文字檔案的編碼格式

檔案的字符集在windows下有兩種,一種是ansi,一種unicode。對於unicode,windows支援了它的三種編碼方式,一種是小尾編碼 unicode 一種是大尾編碼 bigendianunicode 一種是utf 8編碼。我們可以從檔案的頭部來區分乙個檔案是屬於哪種編碼。當頭部開始的兩...