C語言檔案操作解析 一

2021-12-30 00:34:09 字數 1148 閱讀 2484

在討論c語言檔案操作之前,先了解一下與檔案相關的東西。

一.文字檔案和二進位制檔案

文字檔案的定義:由若干行字元構成的計算機檔案,存在於計算機系統中,通常在檔案最後一行放置檔案結束標識。文字檔案只能儲存檔案中的有效字元資訊,不能儲存影象、聲音等資訊。狹義上的二進位制檔案則指除開文字檔案之外的檔案,如、doc文件。

事實上,無論是上面所定義的文字檔案還是二進位制檔案,在計算機中儲存都是以二進位制的形式儲存的,因此其本質並沒有區別。所以廣義上的二進位制檔案便指所有的檔案。至於為什麼在計算機內儲存的都是二進位制資料,而給我們所呈現的確是文字、影象等資訊,這跟計算機硬體組成有關係,因為計算機裡面的元件是電晶體,其只有兩種穩定的狀態,因此二進位制的0和1能表示其狀態。很多個電晶體的不同狀態的組合便呈現給我們不同的資訊了。下面以漢字在計算機中的表示為例。

二.漢字在計算機中的表示

用計算機去處理漢字資訊,必須對漢字進行編碼,變成能被計算機識別的二進位制。漢字編碼主要有輸入碼、機內碼、字形碼三種。分別有不同的作用。

輸入碼:為了能直接使用西方英文標準鍵盤輸入漢字,必須制定相應的編碼規則,如拼音碼(拼音輸入法)、數字碼(數字輸入法)等

機內碼:指漢字在計算機內部的表示形式,即二進位制形式,通常採用兩位元組來表示乙個漢字,每個位元組的最高位設定為1(其值為負),如漢字「我」在計算機內的表示為11001110 11010010.

字形碼:儲存在計算機內的漢字需要在螢幕上顯示或者印表機上輸出時,需要知道漢字的字形資訊,而漢字的機內碼並不能表示漢字的字形資訊,因此需要專門的字形碼 。最通用的字形資訊顯示採用點陣的形式,即將漢字的字形分解成若干個「點」形成的點陣。每個點有黑白兩種資訊,有筆畫的用黑表示,反之用白表示。漢字的點陣資訊量是很大的,比如16*16的點陣需要用256位表示其資訊,則需要32位元組的空間。

計算機中存放了所有漢字的字形碼組合起來的字形庫也稱字模庫,當漢字輸出或者顯示的時候由專門的字形檢索程式根據這個漢字的機內碼在字模庫中找出與之對應的字形碼,然後根據字形碼輸出到顯示裝置上。

所以我們平常所看到的文字檔案或者等在計算機上都是以二進位制形式儲存,只是在顯示的時候以人所能夠識別的方式呈現給我們。

測試程式

#include#includeint main(void)

輸出結果:

2 ce

d2 press any key to continue

作者 海 子

C語言檔案操作解析 一

c語言檔案操作解析 一 在討論c語言檔案操作之前,先了解一下與檔案相關的東西。一.文字檔案和二進位制檔案 文字檔案的定義 由若干行字元構成的計算機檔案,存在於計算機系統中。文字檔案只能儲存檔案中的有效字元資訊,不能儲存影象 聲音等資訊。狹義上的二進位制檔案則指除開文字檔案之外的檔案,如 doc文件。...

C語言檔案操作解析 一

c語言檔案操作解析 一 在討論c語言檔案操作之前,先了解一下與檔案相關的東西。一.文字檔案和二進位制檔案 文字檔案的定義 由若干行字元構成的計算機檔案,存在於計算機系統中。文字檔案只能儲存檔案中的有效字元資訊,不能儲存影象 聲音等資訊。狹義上的二進位制檔案則指除開文字檔案之外的檔案,如 doc文件。...

C語言檔案操作解析 四

在檔案操作中除了開啟操作以及讀寫操作,還有幾種比較常見的操作。下面介紹一下這些操作中涉及到的函式。一.移動位置指標的函式 rewind函式和fseek函式,這兩個函式的原型是 void rewind file fp 將位置指標移動到檔案首 int fseek file fp,long int off...