C語言庫函數 int ungetc(int char, FILE *stream) 將字元的字元(unsigned char類型)到指定的流,用於下一個讀操作。
聲明
以下是聲明 ungetc() 函數。
int ungetc(int char, FILE *stream)
參數
-
char -- 這是被放回到字元。這是通過作為整型轉換。
-
stream -- 這是一個檔對象的指針,識別輸入流。
返回值
如果成功,則返回字元推回,否則,返回EOF並流保持不變。
例子
下麵的例子顯示 ungetc() 函數的用法。
#include <stdio.h> int main () { FILE *fp; int c; char buffer [256]; fp = fopen("file.txt", "r"); if( fp == NULL ) { perror("Error in opening file"); return(-1); } while(!feof(fp)) { c = getc (fp); /* replace ! with + */ if( c == '!' ) { ungetc ('+', fp); } else { ungetc(c, fp); } fgets(buffer, 255, fp); fputs(buffer, stdout); } return(0); }
假設我們有一個文本檔file.txt,其中包含以下數據。此檔將被作為我們的示例程式輸入:
this is tutorials zaixian !c standard library !library functions and macros
讓我們編譯和運行上面的程式,這將產生以下結果:
this is tutorials zaixian +c standard library +library functions and macros +library functions and macros
上一篇:
puts() - C語言庫函數
下一篇:
perror() - C語言庫函數