3 回答

TA貢獻2041條經驗 獲得超4個贊
c語言中fread函數語法為size_t?fread(?void?*restrict?buffer,?size_t?size,?size_t?count,?FILE?*restrict?stream?)。buffer是指向要讀取的數組中首個對象的指針,size是每個對象的大?。▎挝皇亲止潱?,count是要讀取的對象個數,stream是輸入流。通過fread函數可進行數據讀取,返回成功讀取的對象個數。

TA貢獻1856條經驗 獲得超17個贊
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,文件用完還要記得關閉文件,以便釋放指針。

TA貢獻1895條經驗 獲得超7個贊
1、C語言中:fread是一個函數。從一個文件流中讀數據,最多讀取count個元素,每個元素size字節,如果調用成功返回實際讀取到的元素個數,如果不成功或讀到文件末尾返回 0。
函數原型:size_t fread ( void *buffer, size_t size, size_t count, FILE *stream) ;
參數:
buffer 用于接收數據的內存地址
size 要讀的每個數據項的字節數,單位是字節
count 要讀數據項的個數,每個數據項size個字節.
stream 輸入流的指針
返回值:
返回實際讀取的元素個數。如果返回值與count不相同,則可能文件結尾或發生錯誤。從ferror和feof獲取錯誤信息或檢測是否到達文件結尾。
2、例程:
#include<stdio.h> #include<string.h> int main( void ) { FILE *stream; char msg[]= "this is a test" ; char buf[20]; if ((stream= fopen ( "DUMMY.FIL" , "w+" ))==NULL) { fprintf (stderr, "Cannot open outputfile.\n" ); return 0; } fwrite (msg,1, strlen (msg)+1,stream); fseek (stream,0,SEEK_SET); fread (buf, strlen (msg)+1,1,stream); printf ( "%s\n" ,buf); fclose (stream); return0; } |
- 3 回答
- 0 關注
- 524 瀏覽
添加回答
舉報