fread
和fgets
的區別:
fread :
以位元組位計算長度
,按照指定的長度和次數讀取資料
,遇到結尾或完成指定長度讀取後停止
. fgets :
整行讀取
,遇到回車換行或結尾停止
.在文字方式時使用.
讀字串函式
fgets
函式的功能是從指定的檔案中讀乙個字串到字元陣列中,函式呼叫的形式為:
fgets(
字元陣列名,
n,檔案指標);
其中的n
是乙個正整數。表示從檔案中讀出的字串不超過
n-1個字元。在讀入的最後乙個字元後加上串結束標誌
'/0'
。例如:
fgets(str,n,fp);
的意義是從
fp所指的檔案中讀出
n-1個字元送入字元陣列
str中。(按行讀取)
fread
是用於整塊資料的讀寫函式
,可用來讀寫一組資料,如乙個陣列元素,乙個結構變數的值等。讀資料塊函式呼叫的一般形式為:
fread(buffer,size,count,fp),
其中buffer
是乙個指標,在
fread
函式中,它表示存放輸入資料的首位址。
size
表示資料塊的位元組數。
count
表示要讀寫的資料塊塊數。
fp 表示檔案指標。
例如:
fread(fa,4,5,fp); 其意義是從fp所指的檔案中,每次讀4個位元組(乙個實數)送入實陣列fa中,連續讀5次,即讀5個實數到fa中。
手冊裡說:
fputs
fputs -- fwrite() 的別名
說明本函式是 fwrite() 的別名。
fgets
(php 3, php 4 )
fgets -- 從檔案指標中讀取一行
說明string fgets ( int handle [, int length])
從 handle 指向的檔案中讀取一行並返回長度最多為 length - 1 位元組的字串。碰到換行符(包括在返回值中)、eof 或者已經讀取了 length - 1 位元組後停止(看先碰到那一種情況)。如果沒有指定 length,則預設為 1k,或者說 1024 位元組。
fread
(php 3, php 4 )
fread -- 讀取檔案(可安全用於二進位制檔案)
說明string fread ( int handle, int length)
fread() 從檔案指標 handle 讀取最多 length 個位元組。 該函式在讀取完 length 個位元組數,或到達 eof 的時候,或(對於網路流)當乙個包可用時就會停止讀取檔案,視乎先碰到哪種情況。
fread 和fgets 函式的使用
兩個函式都是對file fp 檔案進行讀取資訊,fgets是每次讀取一行,fread是一下子讀完所有的檔案內容。1 一 fread的使用 23 file fp 4int nread 5char buf 4096 6 fp fopen proc cpuinfo rb 7 nread fread buf...
關於fread與fgets之惑
今天本來是想模仿cp來寫一段複製檔案的 如下 這段 可以複製可執行檔案,但是不能複製文字 include include include include include define line max 1024 int main int argc,char argv struct tms tmp c...
fgets和gets的區別
在程式設計中發現gets 和fgets 一些區別總結一下 1 fgets比 gets 安全,使用 gets 編譯時會警告 為了安全,gets 少用,因為其沒有指定輸入字元的大小,限制輸入緩衝區得大小,如果輸入的字元大於定義的陣列長度,會發生記憶體越界,堆疊溢位。後果非常怕怕 fgets會指定大小,如...