程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> C語言基礎知識 >> C語言基礎教程(三)輸入輸出函數及控制流程語句(11)

C語言基礎教程(三)輸入輸出函數及控制流程語句(11)

編輯:C語言基礎知識
下面程序把一個浮點數組以二進制方式寫入文件test_b.dat中。
例14:
#include <stdio.h>
main()
{
float f[6]={3.2, -4.34, 25.04, 0.1, 50.56, 80.5};
/*定義浮點數組並初始化*/
int i;
FILE *fp;
fp=fopen("test_b.dat", "wb"); /*創建一個二進制文件只寫*/
fwrite(f, sizeof(float), 6, fp);/*將6個浮點數寫入文件中*/
fclose(fp); /*關閉文件*/
}
下面例子從test_b.dat文件中讀100個整型數, 並把它們放到dat數組中。
例15:
#include <stdio.h>
main()
{
FILE *fp;
int dat[100];
fp=fopen("test_b.dat", "rb");/*打開一個二進制文件只讀*/
if(fread(dat, sizeof(int), 100, fp)!=100)
/*判斷是否讀了100個數*/
{
if(feof(fp))
printf("End of file"); /*不到100個數文件結束*/
else
printf("Read error"); /*讀數錯誤*/
fclose(fp); /*關閉文件*/
}
注意:
當用標准文件函數對文件進行讀寫操作時,首先將所讀寫的內容放進緩沖區,即寫函數只對輸出緩沖區進行操作,讀函數只對輸入緩沖區進行操作。例如向一個文件寫入內容,所寫的內容將首先放在輸出緩沖區中,直到輸出緩沖區存滿或使用fclose()函數關閉文件時,緩沖區的內容才會寫入文件中。若無fclose()函數,則不會向文件中存入所寫的內容或寫入的文件內容不全。有一個對緩沖區進行刷新的函數,即fflush(),其調用格式為:
int fflush(FILE *stream);
該函數將輸出緩沖區的內容實際寫入文件中,而將輸入緩沖區的內容清除掉。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved