程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 調用 get(fgetc) 和 putc(fputc) 函數進行輸入、輸出,putcfputc

調用 get(fgetc) 和 putc(fputc) 函數進行輸入、輸出,putcfputc

編輯:關於C語言

調用 get(fgetc) 和 putc(fputc) 函數進行輸入、輸出,putcfputc


  當成功地打開文件後,接下來的事情就是對文件進行輸入或輸出操作,最簡單的是調用 getc(或 fgetc) 和 putc(或 fputc) 函數進行字符的輸入和輸出。

  1.調用 putc(或 fpuct) 函數輸出一個字符

  putc 函數的調用形式如下:

    putc(ch, fp);

  這裡 ch 是待輸出的某個字符,它可以是一個字符常量,也可以是一個字符變量;fp 是文件指針。putc(ch, fp) 的功能是將字符 ch 寫到文件指針 fp 所指的文件中去。如果輸出成功,putc 函數返回所輸出的字符;如果輸出失敗,則返回一個 EOF 值。EOF 是在 stdio.h 庫函數文件中定義的符號常量,其值等於 -1。

  fputc 函數的調用形式和功能與 putc 函數完全相同。

  例1 把從鍵盤輸入的文本按原樣輸出到名為 file_a.dat 的文件中,用字符 @ 作為鍵盤輸入結束的標志。

  (1)打開文件

  (2)從鍵盤輸入一個字符

  (3)判斷輸入的字符是否為 @,若是,結束循環,執行步驟(7)

  (4)把剛輸入的字符輸出到指定的文件中

  (5)從鍵盤輸入一個字符

  (6)重復步驟(3)至(5)

  (7)關閉文件

  (8)程序結束

  程序如下:

1 #include <stdio.h> 2 #include <stdlib.h> 3 4 int main() 5 { 6 FILE *fpout; 7 char ch; 8 if ((fpout = fopen("F:\\WEB\\TEST\\file_a.dat", "w")) == NULL) 9 { 10 printf("Cant't open this file !\n"); 11 exit(0); //使用exit函數,必須包含stdlib.h頭文件 12 } 13 ch = getchar(); 14 while (ch != '@') 15 { 16 putc(ch, fpout); 17 ch = getchar(); 18 } 19 fclose(fpout); 20 return 0; 21 } View Code

  在屏幕中輸入abcdefghijklmnopqrstuvwxyz@,@作為輸入結束標志。

 

  文件 file_a.dat 的輸出結果如下:

 

  2.調用 getc(或 fgetc)函數輸入一個字符

  getc 函數的調用形式如下:

    ch = getc(fp);

  fp 是文件指針。函數的功能是從 fp 指定的文件中讀入一個字符,並把它作為函數值返回。以上表達式中 getc 函數把從文件中讀入的一個字符賦給變量 ch。

  fgetc 函數的調用形式和功能與 getc 函數完全相同。

  例2 把已存在的 file_a.dat 文本文件中的內容原樣輸出到終端屏幕上。

  (1)打開文件

  (2)從指定文件中讀入一個字符

  (3)判斷讀入的是否是文件結束標志,若是,結束循環,執行步驟(7)

  (4)把剛輸入的字符輸出到終端屏幕

  (5)從文件中再讀入一個字符

  (6)重復步驟(3)至(5)

  (7)關閉文件

  (8)程序結束

  注意:無論調用哪種函數讀取文件,一定要先執行一次讀操作,然後才能判斷文件是否結束。

  程序如下:

1 #include <stdio.h> 2 #include <stdlib.h> 3 4 int main() 5 { 6 FILE *fpin; 7 char ch; 8 9 if ((fpin = fopen("F:\\WEB\\TEST\\file_a.dat", "r")) == NULL) 10 { 11 printf("Can't open this file !\n"); 12 exit(0); 13 } 14 15 ch = getc(fpin); 16 //判斷文件是否結束可以使用 feof 函數, 17 //該函數適用於文本文件和二進制文件 18 //函數返回值為 1 則文件結束;0 則未結束 19 while (ch != EOF) //or while(feof(fpin) == 0) 20 { 21 putchar(ch); 22 ch = getc(fpin); 23 } 24 fclose(fpin); 25 26 return 0; 27 } View Code

  運行程序,結果如下:

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