導航:首頁 > 文件目錄 > c判斷文件格式

c判斷文件格式

發布時間:2025-01-08 05:27:27

Ⅰ C#如何識別文件格式

讀取文件頭, 可以解決問題。例如,你要查看一個圖片是否「真」的是「jpg」格式的。那麼就需要提取2個位元組,如果文件頭標示是「255216」就說明是「jpg」格式的。代碼如下:
FileStream fs = new FileStream(@"C:\1.jpg", FileMode.Open, FileAccess.Read);
byte[] imagebytes = new byte[fs.Length];
BinaryReader br = new BinaryReader(fs);//二進制文件讀取器
imagebytes = br.ReadBytes(2);//從當前流中將2個位元組讀入位元組數組中
string s = "";
for (int i = 0; i < imagebytes.Length; i++)
{
s += imagebytes[i];
}
if(s=="255216")
Console.WriteLine("是jpg格式");
else
Console.WriteLine("不是jpg格式");

各種文件格式文件頭占的位元組不一樣,譬如:jpg,2個位元組;png,8個位元組;gif,6個位元組。你只需要改變讀取的位元組數,在判斷就可以了。

Ⅱ c語言如何讀取任意格式的文件

  1. 對於程序來說,不管後綴名如何,文件分為兩種類型:文本文件和二進制文件。

  2. C語言里有一系列文件操作函數。區分文本和二進制文件,需要在打開文件時設置不同的控制符mode的變數即可。

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

Ⅲ . c語言文件是什麼文件格式

後綴為.c文件是C語言源程序文件,可以通過記事本或者MicrosoftVisualC++6.0等打開。

一、源程序,是指未經編譯的,按照一定的程序設計語言規范書寫的,人類可讀的文本文件,通常由高級語言編寫。

二、這種典型格式的目的是為了編譯出計算機可執行的程序,將人類可讀的程序代碼文本翻譯成為計算機可以執行的二進制指令,這種過程叫做編譯,由各種編譯器來完成。

三、編譯器運行有以下四個過程:

  1. 頭文件的預編譯,預處理,編譯器在編譯源代碼時,會先編譯頭文件,保證每個頭文件只被編譯一次,在預處理階段,編譯器將c文件中引用的頭文件中的內容全部寫到c文件中。

2.詞法和語法分析(查錯)

3.編譯(匯編代碼,.obj文件)轉化為匯編碼,這種文件稱為目標文件。後綴為.obj。

4.鏈接(二進制機器碼,.exe文件)將匯編代碼轉換為機器碼,生成可執行文件。

(3)c判斷文件格式擴展閱讀:

C語言後綴.h文件和.c文件作用

.h文件和.c文件作用

  1. xx.h文件.h中一般放的是同名.c文件中定義的變數、數組、函數的聲明,需要讓.c外部使用的聲明。x.c文件.c文件一般放的是變數、數組、函數的具體定義

  2. xx.c文件.c文件一般放的是變數、數組、函數的具體定義

Ⅳ C語言如何判斷文件類型

c語言文件類型指針是通過file
*fp;
這種形式進行定義的。
關於file結構在vc6中有如下定義:
#ifndef _file_defined
struct _iobuf {
char *_ptr; //文件輸入的下一個位置
int _cnt; //當前緩沖區的相對位置
char *_base; //指基礎位置(即是文件的起始位置)
int _flag; //文件標志
int _file; //文件描述符id
int _charbuf; //檢查緩沖區狀況,如果無緩沖區則不讀取
int _bufsiz; //文件緩沖區大小
char *_tmpfname; //臨時文件名
};
typedef struct _iobuf file;
#define _file_defined
#endifc程序用不同的file結構管理每個文件。程序員可以使用文件,但是不需要知道file結構的細節。實際上,file結構是間接地操作系統的文件控制塊(fcb)來實現對文件的操作的,如下圖:
上面圖中的_file實際上是一個描述符,作為進入打開文件表索引的整數。
文件是存放在物理磁碟上的,包括文件控制塊(fcb)和數據塊。文件控制塊通常包括文件許可權、日期(創建、讀取、修改)、擁有者、文件大小、數據塊信息。數據塊用來存儲實際的內容。當打開一個文件時,程序會將物理磁碟上的文件數據塊讀入到內存,然後通過文件指針的移動讀取內存中的文件數據。
相關函數:
file
*fopen(
char
*file,
char
*open_mode
);
//打開文件,讀文件到內存,返迴文件信息結構指針
int
fread(
char
s,
int
size,
int
num,
file
*fp
);
//按位元組讀取文件內容到s中
int
fwrite(
char
s,
int
size,
int
num,
file
*fp
);
//按位元組將s地址中的數據寫到文件中
char
*fgets(
char
*s,
int
max_size,
file
*fp);
//讀一行數據到緩沖區s中
int fseek(
file
*fp,
long
offset,
int
whence);
//移動文件指針到指定位置
void
rewind(file
*fp);
//回到文件頭
long
ftell(file
*fp);
//得到當前文件偏移位置
fclose(fp);
//關閉文件,刷新緩存到物理磁碟上

閱讀全文

與c判斷文件格式相關的資料

熱點內容
安卓實現桌面大文件夾 瀏覽:449
達芬奇可視化的配置文件 瀏覽:338
下好的壓縮包非壓縮文件 瀏覽:360
linuxqt觸控事件 瀏覽:381
國際網路監控 瀏覽:967
哪個網站鞋子最好 瀏覽:987
蘋果720p 瀏覽:248
微博拼圖工具 瀏覽:572
博客與網路營銷下載 瀏覽:644
爆破肉雞教程 瀏覽:138
文件傳輸常常被直接稱為什麼 瀏覽:307
監控上面顯示配置文件錯誤 瀏覽:583
數據服務實踐表怎麼填 瀏覽:738
iphone6s港行真偽查詢 瀏覽:827
看不到網路怎麼設置路由器 瀏覽:78
qt讀寫ini文件 瀏覽:910
什麼是離線導航數據 瀏覽:164
微信本地二手交易平台 瀏覽:726
什麼是創意編程啟蒙 瀏覽:988
用來存放被用戶刪除的文件 瀏覽:307

友情鏈接