fgetc
計算機語言中的函數
fgetc是一種計算機語言中的函數。意思是從文件指針stream指向的文件中讀取一個字元,讀取一個位元組后,游標位置后移一個位元組。格式:int fgetc(FILE *stream)。
內容說明:函數從輸入流stream的當前位置返回下一個字元,並將文件位置指示器增大。該字元作為一個無符號字元讀取,並被轉換成為一個整型值。
fgetc()函數的功能是從文件指針指定的文件中讀入一個字元,該字元的ASCII值作為函數的返回值,若返回值為EOF,說明文件結束,EOF是文件結束標誌,值為-1。
語句“c=fgetc(fp);”是從文件指針fp指定的文件中讀一個字元並存人c變數中,c是字元型變數。使用fgetc()函數調用前,需要讀取的文件必須是以讀或讀/寫方式打開的,並且該文件應該已經存在。
讀操作的位置也是由文件內部位置指針來確定,對於已經存在的文件,文件被打開時,文件內部位置指針指向文件的第一個位元組。這時,調用fgetc()函數讀的是第一個位元組的字元,讀入一個位元組以後,位置指針將自動向後移動一個位元組,那麼再調用一次fgetc()函數,則讀取的是第2個字元。連續調用該函數就可以讀取文件的每個字元,並且可以使用EOF來判斷是否已經到了文件末尾。
這個函數的返回值,是返回所讀取的一個位元組。如果讀到文件末尾或者讀取出錯時返回EOF。雖然返回一個位元組,但返回值不為unsigned char的原因為,返回值要能表示-1(即為EOF)。
從流水中讀取字元。
這個
這個函數的返回值,是返回所讀取的一個位元組。如果讀到文件末尾或者讀取出錯時返回EOF。
(雖然返回一個位元組,但返回值不為unsigned char的原因為,返回值要能表示-1(即為EOF)。)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | #include #include <conio.h> int main(void) { FILE *stream; char string[ ] = "This is a test"; int ch; stream = fopen("DUMMY.FIL", "w+"); fwrite(string, strlen(string), 1, stream); fseek(stream, 0, SEEK_SET); do { ch = fgetc(stream); putch(ch); } while (ch != EOF); fclose(stream); return 0; } |
open,fread,fscanf,getc
getc()
功能:函數從流中返回一個字元值。語法:int getc(FILE * stream) 返回值:整數值。函數種類:“stdio.h”內容說明:此函數和fgetc函數相似,但它是以一個宏來實現的。另外它將不止一次地計算流參數卡,這對通常的宏的規則來說是一個例外。getc是一個已經高度優化的函數,所以該函數是進行單個字元讀操作的最好的函數。參考:如fputc();fgetc();putc();fopen()。
fputs()
功能:將字元串中的內容寫到指定的流中。語法: int fputs(const char *s,FILE * stream) 返回值:整數值。函數種類:“stdio.h”內容說明:函數將字元串指針s所指向的字元串中的內容寫到流stream中。標誌結束的空字元(NULL)不寫。函數也不另外增加一個換行符。只是輸出字元串中的所有字元。函數操作成功時返回值為0,否則返回非0值。如果流程是以文本形式打開的,就會對有些字元進行翻譯操作。這意味著字元串可能會與文件內容之間沒有一一對應的映射關係。然而,當文件以二進位打開時,不發生字元翻譯,在字元串與文件內容之間存在一一對應的映射關係。
include
int fgetc(FILE*stream);
fgetc()會返回讀取到的字元,若返回EOF則表示到了文件尾,或出現了錯誤。