當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


C語言 clearerr()用法及代碼示例



描述

C庫函數void clearerr(FILE *stream)清除給定流的文件結束和錯誤指示符。

聲明

以下是 clearerr() 函數的聲明。

void clearerr(FILE *stream)

參數

  • stream- 這是指向標識流的 FILE 對象的指針。

返回值

這不應該失敗並且不設置外部變量 errno 但如果它檢測到它的參數不是一個有效的流,它必須返回 -1 並將 errno 設置為 EBADF。

示例

下麵的例子展示了 clearerr() 函數的用法。

#include <stdio.h>

int main () {
   FILE *fp;
   char c;

   fp = fopen("file.txt", "w");

   c = fgetc(fp);
   if( ferror(fp) ) {
      printf("Error in reading from file:file.txt\n");
   }
   clearerr(fp);
   
   if( ferror(fp) ) {
      printf("Error in reading from file:file.txt\n");
   }
   fclose(fp);

   return(0);
}

假設我們有一個文本文件file.txt,這是一個空文件,讓我們編譯並運行上麵的程序,這將產生以下結果,因為我們嘗試讀取以隻寫模式打開的文件。

Error reading from file "file.txt"

相關用法


注:本文由純淨天空篩選整理自 C library function - clearerr()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。