getc();fgetc();getchar();gets();fgets();
函式標頭檔案:#include <stdio.h>
函式原型:
int fgetc(FILE *stream);
char *fgets(char *s, int size, FILE *stream);
int getc(FILE *stream);
int getchar(void);
char *gets(char *s);
函式說明:
fgetc() :從讀取檔案流中讀取下一個字元,並將其以無符號數返回,或者返回檔案末尾標誌或錯誤標誌。
unsigned char cast to an int,
getc() :和fgetc差不多,只是在讀取的時候會檢查檔案流。
getchar() :和getc(stdin)等效。
gets() :從stdin中讀取一行字串,直到一行結束或是到檔案末尾,字串以’\0’結尾。但是不會檢查是否有溢位。
fgets() :讀取少於size長度的字元,直到新的一行開始或是檔案結束,最後會在讀取的字串最後一個字元後加一個結束字元’\0’
返回值:
fgetc();getc() and getchar() 如果讀取成功返回的是讀取到的字元,並且將字元轉換為無符號數或是檔案末尾,讀取失敗則返回錯誤值。
gets() and fgets() 如果讀取成功返回的是讀取到的字元,無資料讀取或讀取錯誤返回NULL。
建議:
最好不要使用gets,因為它不檢測讀回來的資料長度是否超過自己所擁有的buff的長度,所以有可能會造成溢位。所以它的使用會造成程式的潛在隱患,會使程式不安全。可以是用fgets()來代替它。
相關文章
- fgetc() 與getc()的區別
- gets()getchar()與緩衝區的問題
- fgets
- fgetc
- getchar()
- C語言中回車,換行,空字元與空格:fgets和gets在讀取換行符的區別C語言字元
- C/C++輸入函式 scanf() gets() getline() cin.getline() cin.get() getchar()C++函式
- oracle buffer gets=db block gets+consistent getsOracleBloC
- fgets(),fputs(),字串函式字串函式
- getchar VS scanf
- getchar()知多少?
- DB Bocks gets & Consistent gets 區別
- getchar緩衝區
- db block gets 與 consistent read getsBloC
- DB Block Gets、Consistent Gets、Physical ReadsBloC
- consistent gets
- recursive calls, db block gets,consistent gets,physical ReadsBloC
- recursive calls ,db block gets , consistent gets的含義BloC
- DB Bocks gets,Consistent gets And Physical reads 轉載
- 對'Consistent Gets',''Physical Reads'和'DB Block Gets'的理解BloC
- consistent gets、db block gets的簡單精闢的理解BloC
- c語言中的getchar()和EOFC語言
- Consistent Gets,Physical Reads和DB Block Gets的解釋(轉)BloC
- (轉)關於 db block gets,consistent gets,physical reads的概念BloC
- gets函式的漏洞函式
- fgets讀取檔案時的注意事項
- C語言——常用標準輸入輸出函式 scanf(), printf(), gets(), puts(), getchar(), putchar(); 字串拷貝函式 strcpy(), strncpy(), strchr(), strstr()函式用法特點C語言函式字串
- 對'Consistent Gets',''Physical Reads'和'DB Block Gets'的理解和解釋BloC
- 【Oracle-記憶體管理】-DB Blocks gets,Consistent gets And Physical readsOracle記憶體BloC
- C語言關於指標,gets()和gets_s()函式的理解C語言指標函式
- Your Prediction Gets As Good As Your DataGo
- C語言中的getchar和putchar詳解C語言
- C語言_scanf()和getchar() 使用[粗俗易懂]C語言
- Consistent Gets(就是logical read)+ DB Block Gets = 所謂的Logical ReadsBloC
- 關於統計中Consistent Gets,Physical Reads和DB Block Gets的意義BloC
- db block gets的解釋[轉]BloC
- Why Archive, FRA Diskgroup Gets Mounted / DismountedHive
- consistent gets 到底指的是什麼?