C語言 庫函數(shù) ungetc()
C語言 庫函數(shù) ungetc()
C語言 標(biāo)準(zhǔn)庫 - <stdio.h>
C 庫函數(shù) int ungetc(int char, FILE *stream) 把字符 char(一個(gè)無符號字符)推入到指定的流 stream 中,以便它是下一個(gè)被讀取到的字符。
1. 聲明
下面是 ungetc() 函數(shù)的聲明。
int ungetc(int char, FILE *stream)
2. 參數(shù)
- char -- 這是要被推入的字符。該字符以其對應(yīng)的 int 值進(jìn)行傳遞。
- stream -- 這是指向 FILE 對象的指針,該 FILE 對象標(biāo)識了輸入流。
3. 返回值
如果成功,則返回被推入的字符,否則返回 EOF,且流 stream 保持不變。
4. 實(shí)例
下面的實(shí)例演示了 ungetc() 函數(shù)的用法。
#include <stdio.h> int main () { FILE *fp; int c; char buffer [256]; fp = fopen("file.txt", "r"); if( fp == NULL ) { perror("打開文件時(shí)發(fā)生錯(cuò)誤"); return(-1); } while(!feof(fp)) { c = getc (fp); /* 把 ! 替換為 + */ if( c == '!' ) { ungetc ('+', fp); } else { ungetc(c, fp); } fgets(buffer, 255, fp); fputs(buffer, stdout); } return(0); }
假設(shè)我們有一個(gè)文本文件 file.txt,它的內(nèi)容如下。文件將作為實(shí)例中的輸入:
this is w3cschool !c standard library !library functions and macros
讓我們編譯并運(yùn)行上面的程序,這將產(chǎn)生以下結(jié)果:
this is w3cschool +c standard library +library functions and macros +library functions and macros
相關(guān)文章
- C++ 注釋
- C++ 函數(shù)
- C++ 重載運(yùn)算符和重載函數(shù)
- C++ 文件和流
- C語言 常量
- C語言 數(shù)組
- C語言 結(jié)構(gòu)體
- C語言 命令行參數(shù)
- C# 環(huán)境
- C# 類型轉(zhuǎn)換
- C# 特性 Attribute
- C++ 把引用作為返回值
- C++ 指針數(shù)組
- C++ 內(nèi)聯(lián)函數(shù)
- C++ 函數(shù)調(diào)用運(yùn)算符 () 重載
- C++ 下標(biāo)運(yùn)算符 [] 重載
- C語言 庫函數(shù) difftime()
- C# 隊(duì)列(Queue)
- C# for/foreach 循環(huán)
- C# do…while 循環(huán)