c語言文件類型
① 在c語言中文件有幾種操作類型
主要是兩種文件類型:1)文本文件,2)
二進制文件
。
一般來說,人類可讀的文件都作為文本文件,例如一片文章。其餘都作為二進制文件,例如一個程序。
在C語言中,文件的操作是通過FILE
結構體
進行了,利用fopen返回一個指向FILE結構體的指針,在使用
fopen函數
過程中,使用mode控制符對是否打開哪類文件進行控制:
FILE
*fopen(
const
char
*filename,
const
char
*mode
);
filename:文件名,mode:打開的模式,規定了是可讀、可寫、追加之類的屬性。
r
以只讀方式打開
文件,該文件必須存在。
r+
以可讀寫方式打開文件,該文件必須存在。
rb+
讀寫打開一個二進制文件,允許讀寫數據,文件必須存在。
w
打開只寫文件,若文件存在則文件長度清為0,即該文件內容會消失。若文件不存在則建立該文件。
w+
打開可讀寫文件,若文件存在則文件長度清為零,即該文件內容會消失。若文件不存在則建立該文件。
a
以附加的方式打開只寫文件。若文件不存在,則會建立該文件,如果文件存在,寫入的數據會被加到文件尾,即文件原先的內容會被保留。(EOF符保留)
a+
以附加方式打開可讀寫的文件。若文件不存在,則會建立該文件,如果文件存在,寫入的數據會被加到文件尾後,即文件原先的內容會被保留。
(原來的EOF符不保留)
wb
只寫打開或新建一個二進制文件;只允許寫數據。
wb+
讀寫打開或建立一個二進制文件,允許讀和寫。
ab+
讀寫打開一個二進制文件,允許讀或在文件末追加數據。
如果調用失敗,返回一個空指針。
② C語言中的文件類型只有哪兩種
二進制和ASCII兩種
③ C語言可以處理的文件類型有哪些
能夠處理任意文件類型,這個跟語言不相關的,而是跟文件存儲結構有關
如果你知道文件結構每個位元組的含義,你可以修改二進制內容
④ C語言的文件類型有哪些
從文件編碼的方式來看,文件可分為ASCII碼文件和二進制文件兩種。
文件是指記錄在介質(磁碟、磁帶、光碟、u盤等)上的相關數據的集合。每個數據都有一個名稱,稱為文件名,它是訪問文件的標識,
ASCII碼文件也稱為文本文件,這種文件在磁碟中存放時每個字元對應一個位元組,用於存放對應的ASCII碼值。ASCII碼文件可在屏幕上按字元顯示的,例如源程序文件就是ASCII碼文件,由於按字元顯示,可以識別。
二進制文件是按二進制的編碼方式來存放文件的,二進制文件雖然也可以在屏幕上顯示,但其內容顯示為亂碼。
C語言在處理這些文件時,並不區分類型,都視為字元流,按位元組處理。
⑤ c語言的數據文件有哪些 都有什麼特點
具體來說,C
語言的數據文件類型分為:文本文件、以及二進制文件。它們的具體特點如下:
(1)、文本文件,在
C
語言編程中,使用
fopen(
)
庫函數,文件的最基本讀寫方式為:r(讀)、w(寫);當然了,還有以添加方式進行操作的。
(2)、二進制文件,在
C
語言編程中,使用
fopen(
)
庫函數,文件的最基本讀寫方式為:
rb(二進制讀)、wb(二進制寫);當然了,二進制方式也有以添加方式進行操作的。
這兩種文件操作方式最大的不同就是對於回車符的處理。在以文本文件方式打開文件時,
回車換行符變為一個字元;而使用二進制方式進行處理時就是二個字元。
例如:
abcde
在文本文件中,該文件長度是
6
個字元(5個字母、以及一個換行符
\n),但是如果以二進制方式進行處理的話,就是
7
個字元(5個字母、以及
\r\n
兩個字元)。
⑥ C語言的基本格式是什麼
如:
1.#include<stido >
「
引入頭文件(主要引入函數庫,如stdio.h;數學函數」)
2. int main(void ) {
「
主函數必須是小寫的(程序唯一入口,前面的int、void等都可省略,但「括弧」不能。大括弧內包含的內容為程序主體」
Int num = 10
3.printf(「會好的」);
Printf(「我今年%d歲了\n」,num);
「\n:表示換行;%d表示在這里帶入定義的函數num =
10,所以後面必須跟『num』這個標識符」
}
首先,在程序中注意一些小問題。
1.程序要在英文輸入法的界面輸入,不然程序會報警。
2.程序的格式要有一定的層次關系。
3.在定義函數(標識符)時注意不要選擇了關鍵字。最好在「=」兩邊都空一格。
4.在定義函數時注意數據類型的取值范圍。如:
整型
[signed]int
-2147483648~+2147483648
無符號整型
unsigned[int]
0~4294967295
短整型 short
[int] -32768~32768
無符號短整型
unsigned
short[int]
0~65535
長整型 Long
int
-2147483648~+2147483648
無符號長整型 unsigned
[int]
0~4294967295
字元型[signed]
char
-128~+127
無符號字元型 unsigned
char
0~255
單精度
float
3.4 x 10^(-38)~ 3.4 x
10^(+38)
雙精度
double
1.7 x 10^(-308)~ 1.7 x
10^(+308)
長雙精度 long
double 1.7
x 10^(-308)~ 1.7 x
10(+308)
⑦ 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);
//關閉文件,刷新緩存到物理磁碟上