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


C++ getc()用法及代碼示例


C++ 中的getc() 函數從給定的輸入流中讀取下一個字符。它可以實現為宏。

getc()原型

int getc(FILE* stream);

getc() 函數將文件流作為其參數,並將給定流中的下一個字符作為整數類型返回。

getc() 和 fgetc() 之間的區別

C++ 中的getc()fgetc() 函數幾乎相似。但是,它們之間存在一些差異。

getc() 函數可以作為宏實現,而fgetc() 函數不能作為宏使用。

此外 getc() 函數經過高度優化,因此對 fgetc() 的調用可能比對 getc() 的調用花費更長的時間。因此,在大多數情況下,getc() 是首選。

它在<cstdio> 頭文件中定義。

參數:

stream :讀取字符的文件流。

返回:

  • 成功時,getc() 函數返回讀取的字符。
  • 失敗時返回 EOF。
    • 如果失敗是由於文件結束引起的,則設置 eof 指示符。
    • 如果失敗是由其他錯誤引起的,則設置錯誤指示器。

示例:getc() 函數的工作原理

#include <cstdio>

int main()
{
    int c;
    FILE *fp;
    
    fp = fopen("file.txt","r");
    
    if (fp)
    {
        while(feof(fp) == 0)
        {
            c = getc(fp);
            putchar(c);
        }
    }
    else
        perror("File opening failed");
    fclose(fp);
    return 0;
}

運行程序時,可能的輸出將是:

Hello World!

相關用法


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