古詩詞大全網 - 古詩大全 - c語言中fgets 、fputs、fread、fscanf、fseek的區別和作用

c語言中fgets 、fputs、fread、fscanf、fseek的區別和作用

fread:是讀取數據

fwrite:是寫入數據

1.函數功能

用來讀寫壹個數據塊。

2.壹般調用形式

fread(buffer,size,count,fp);

fwrite(buffer,size,count,fp);

3.說明

(1)buffer:是壹個指針,對fread來說,它是讀入數據的存放地址。對fwrite來說,是要輸出數據的地址。

(2)size:要讀寫的字節數;

(3)count:要進行讀寫多少個size字節的數據項;

(4)fp:文件型指針。

註意:1

完成次寫操(fwrite())作後必須關閉流(fclose());

2

完成壹次讀操作(fread())後,如果沒有關閉流(fclose()),則指針(file

*

fp)自動向後移動前壹次讀寫的長度,不關閉流繼續下壹次讀操作則接著上次的輸出繼續輸出;

3

fprintf()

按格式輸入到流,其原型是int

fprintf(file

*stream,

const

char

*format[,

argument,

...]);其用法和printf()相同,不過不是寫到控制臺,而是寫到流罷了。註意的是返回值為此次操作寫入到文件的字節數。如int

c

=

fprintf(fp,

"%s

%s

%d

%f",

str1,str2,

a,

b)

;str1:10字節;str2:

10字節;a:2字節;b:8字節,c為33,因為寫入時不同的數據間自動加入壹個空格。

4.fscanf

scanf

相似

:當能正常讀入數據時,

fscanf

返回讀入數據的個數,否則返回

eof