fread

fread

fread是一個函式,它從檔案流中讀數據,最多讀取count個項,每個項size個位元組,如果調用成功返回實際讀取到的項個數(小於或等於count),如果不成功或讀到檔案末尾返回 0。

基本信息

簡介

函式原型

size_t fread ( void * buffer , size_t size , size_t count , FILE * stream ) ;

參 數

buffer

用於接收數據的記憶體地址

size

要讀的每個數據項的位元組數,單位是位元組

count

要讀count個數據項,每個數據項size個位元組.

stream

輸入流

返回值

返回真實讀取的項數,若大於count則意味著產生了錯誤。另外,產生錯誤後,檔案位置指示器是無法確定的。若其他stream或buffer為空指針,或在unicode模式中寫入的位元組數為奇數,此函式設定errno為EINVAL以及返回0.

程式例

C語言

MSDN示例

PHP

PHP函式

(PHP 4, PHP 5)

fread -- 讀取檔案(可安全用於二進制檔案)

說明

string fread( int handle, int length )

fread()從檔案指針handle讀取最多 length 個位元組。 該函式在讀取完 length 個位元組數,或到達 EOF 的時候,或(對於網路流)當一個包可用時就會停止讀取檔案,視乎先碰到哪種情況。

注意

在區分二進制檔案和文本檔案的系統上(如 Windows)打開檔案時,fopen() 函式的 mode 參數要加上 'b'。

當從網路流或者管道讀取時,例如在讀取從遠程檔案或 popen()以及 proc_open()的返回時,讀取會在一個包可用之後停止。這意味著你應該如下例所示將數據收集起來合併成大塊。

如果你只是想將一個檔案的內容讀入到一個字元串中,用 file_get_contents(),它的性能比上面的代碼好得多。

MATLAB函式

功能:

fread函式可從檔案中讀取二進制數據

語法:

A = fread(fid, count)

A = fread(fid, count, precision)

其中fid為指針所指檔案中的當前位置,count指讀取的數據個數, precision表示以什麼格式的數據類型讀取數據。

例子:

fid = fopen('alphabet.txt', 'r');
c = fread(fid, 5)'
c =
65 66 67 68 69
fclose(fid);

程式說明:alphabet檔案中按順序存儲著26個英文字母,讀取檔案之前要先打開檔案,由於未指定讀取數據的類型,所以程式指定默認類型為無符號字元型即uchar,65、66、67、68、69代表A、B、C、D、E,檔案用完還要記得關閉檔案,以便釋放指針。

fid = fopen('alphabet.txt', 'r');
c = fread(fid, '*char')'
c =
ABCDEFGHIJKLMNOPQRSTUVWXYZ
fclose(fid);

程式說明:此程式未指定數據個數,而默認為全部數據,所以顯示了檔案中的所有數據。

相關詞條

相關搜尋

熱門詞條

聯絡我們