高等 C 語言 -- 檔案錯誤 ferror()

高等 C 語言

簡介

字串

指標與陣列

函數

結構

物件導向

記憶體

檔案

錯誤處理

巨集處理

C 與組合語言

資料結構

動態字串

動態陣列

鏈結串列

雜湊表

開發環境

Make

Cygwin

MinGW

DevC++

wxDevC++

編譯器

gcc 編譯器

TinyCC 編譯器

LCC 編譯器

應用主題

CGI 程式

GNU 程式

視窗程式

影像處理

練習題

訊息

相關網站

參考文獻

最新修改

簡體版

English

程式範例

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[]) {
  FILE *in, *out;
  char ch;

  if((in=fopen(argv[1], "rb")) == NULL) {
    perror("Error");
    exit(1);
  }

  while(!feof(in)) {
    ch = getc(in);
    if(ferror(in)) {
      perror("Error");
      clearerr(in);
      break;
    }
    putchar(ch);
  }
  fclose(in);
  return 0;
}

執行結果

D:\cp>gcc ferror.c -o ferror

D:\cp>ferror
Error: No such file or directory

D:\cp>ferror exist.not
Error: No such file or directory

D:\cp>ferror ferror.c
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[]) {
  FILE *in, *out;
  char ch;

  if((in=fopen(argv[1], "rb")) == NULL) {
    perror("Error");
    exit(1);
  }

  while(!feof(in)) {
    ch = getc(in);
    if(ferror(in)) {
      perror("Error");
      clearerr(in);
      break;
    }
    putchar(ch);
  }
  fclose(in);
  return 0;
}

Facebook

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License