程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> C語言基礎知識 >> C語言學習教程第十章-文件(3)

C語言學習教程第十章-文件(3)

編輯:C語言基礎知識

fclose函數

調用的一般形式是: fclose(文件指針); 例如:
fclose(fp); 正常完成關閉文件操作時,fclose函數返回值為0。如返回非零值則表示有錯誤發生。文件的讀寫對文件的讀和寫是最常用的文件操作。

在C語言中提供了多種文件讀寫的函數:
·字符讀寫函數 :fgetc和fputc
·字符串讀寫函數:fgets和fputs
·數據塊讀寫函數:freed和fwrite
·格式化讀寫函數:fscanf和fprinf

下面分別予以介紹。使用以上函數都要求包含頭文件stdio.h。字符讀寫函數fgetc和fputc字符讀寫函數是以字符(字節)為單位的讀寫函數。 每次可從文件讀出或向文件寫入一個字符。

一、讀字符函數fgetc

fgetc函數的功能是從指定的文件中讀一個字符,函數調用的形式為: 字符變量=fgetc(文件指針); 例如:ch=fgetc(fp);其意義是從打開的文件fp中讀取一個字符並送入ch中。

對於fgetc函數的使用有以下幾點說明:
1. 在fgetc函數調用中,讀取的文件必須是以讀或讀寫方式打開的。

2. 讀取字符的結果也可以不向字符變量賦值,例如:fgetc(fp);但是讀出的字符不能保存。

3. 在文件內部有一個位置指針。用來指向文件的當前讀寫字節。在文件打開時,該指針總是指向文件的第一個字節。使用fgetc 函數後, 該位置指針將向後移動一個字節。 因此可連續多次使用fgetc函數,讀取多個字符。 應注意文件指針和文件內部的位置指針不是一回事。文件指針是指向整個文件的,須在程序中定義說明,只要不重新賦值,文件指針的值是不變的。文件內部的位置指針用以指示文件內部的當前讀寫位置,每讀寫一次,該指針均向後移動,它不需在程序中定義說明,而是由系統自動設置的。

[例10.1]讀入文件e10-1.c,在屏幕上輸出。
#include<stdio.h>
main()
{
FILE *fp;
char ch;
if((fp=fopen("e10_1.c","rt"))==NULL)
{
printf("Cannot open file strike any key exit!");
getch();
exit(1);
}
ch=fgetc(fp);
while (ch!=EOF)
{
putchar(ch);
ch=fgetc(fp);
}
fclose(fp);
}
本例程序的功能是從文件中逐個讀取字符,在屏幕上顯示。 程序定義了文件指針fp,以讀文本文件方式打開文件“e10_1.c”, 並使fp指向該文件。如打開文件出錯, 給出提示並退出程序。程序第12行先讀出一個字符,然後進入循環, 只要讀出的字符不是文件結束標志(每個文件末有一結束標志EOF)就把該字符顯示在屏幕上,再讀入下一字符。每讀一次,文件內部的位置指針向後移動一個字符,文件結束時,該指針指向EOF。執行本程序將顯示整個文件。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved