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++ getchar()用法及代碼示例
- C++ getline(string)用法及代碼示例
- C++ getwchar()用法及代碼示例
- C++ get_allocator()用法及代碼示例
- C++ getenv()用法及代碼示例
- C++ getwc()用法及代碼示例
- C++ gets()用法及代碼示例
- C++ gmtime()用法及代碼示例
- C++ unordered_map cbegin用法及代碼示例
- C++ map lower_bound()用法及代碼示例
- C++ Unordered_multimap reserve()用法及代碼示例
- C++ list assign()用法及代碼示例
- C++ std::max()用法及代碼示例
- C++ std::string::push_back()用法及代碼示例
- C++ Array swap()用法及代碼示例
- C++ valarray cos用法及代碼示例
- C++ multimap key_comp()用法及代碼示例
- C++ Deque erase()用法及代碼示例
- C++ List cend()用法及代碼示例
- C++ std::less_equal用法及代碼示例
注:本文由純淨天空篩選整理自 C++ getc()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。