-
fgetc
鎖定
- 中文名
- fgetc
- 函數種類
- “stdio.h”
- 功 能
- 函數從流中返回一個字符值
- 語 法
- int fgetc(FILE *stream)
- 性 質
- 計算機C語言中的函數
- 返回值
- 得到的字符值
fgetc簡介
內容説明:函數從輸入流stream的當前位置返回下一個字符,並將文件位置指示器增大。該字符作為一個無符號字符讀取,並被轉換成為一個整型值。
如果到了文件的結尾或遇到讀錯誤,將返回EOF。由於EOF是一個有效的整型值,當你操作二進制文件時,必須用feof函數進行文件結束檢測。同樣也必須使用ferror函數進行出錯檢查。
fgetc()函數的功能是從文件指針指定的文件中讀入一個字符,該字符的ASCII值作為函數的返回值,若返回值為EOF,説明文件結束,EOF是文件結束標誌,值為-1。
語句“c=fgetc(fp);”是從文件指針fp指定的文件中讀一個字符並存人c變量中,c是字符型變量。使用fgetc()函數調用前,需要讀取的文件必須是以讀或讀/寫方式打開的,並且該文件應該已經存在。
讀操作的位置也是由文件內部位置指針來確定,對於已經存在的文件,文件被打開時,文件內部位置指針指向文件的第一個字節。這時,調用fgetc()函數讀的是第一個字節的字符,讀入一個字節以後,位置指針將自動向後移動一個字節,那麼再調用一次fgetc()函數,則讀取的是第2個字符。連續調用該函數就可以讀取文件的每個字符,並且可以使用EOF來判斷是否已經到了文件末尾。
[2]
fgetc用法
fgetc程序示例
#include <string.h> #include <stdio.h> #include <conio.h> int main(void) { FILE *stream; char string[ ] = "This is a test"; int ch; /* open a file for update */ stream = fopen("DUMMY.FIL", "w+"); /* write a string into the file */ fwrite(string, strlen(string), 1, stream); /* seek to the beginning of the file */ fseek(stream, 0, SEEK_SET); do { /* read a char from the file */ ch = fgetc(stream); /* display the character */ putch(ch); } while (ch != EOF); fclose(stream); return 0; }
fgetc相關函數
fgetcgetc()
功能:函數從流中返回一個字符值。
語法:int getc(FILE * stream)
返回值:整數值。
函數種類:“stdio.h”
內容説明:此函數和fgetc函數相似,但它是以一個宏來實現的。另外它將不止一次地計算流參數咖,這對通常的宏的規則來説是一個例外。getc是一個已經高度優化的函數,所以該函數是進行單個字符讀操作的最好的函數。
參考:如fputc();fgetc();putc();fopen()。
fgetcfputs()
功能:將字符串中的內容寫到指定的流中。
語法: int fputs(const char *s,FILE * stream)
返回值:整數值。
函數種類:“stdio.h”
內容説明:函數將字符串指針s所指向的字符串中的內容寫到流stream中。標誌結束的空字符(NULL)不寫。函數也不另外增加一個換行符。只是輸出字符串中的所有字符。 函數操作成功時返回值為0,否則返回非0值。
如果流是以文本形式打開的,就會對有些字符進行翻譯操作。這意味着字符串可能會與文件內容之間沒有一一對應的映射關係。然而,當文件以二進制打開時,不發生字符翻譯,在字符串與文件內容之間存在一一對應的映射關係。