
- C 標準庫
- C 庫 - 首頁
- C 庫 - <assert.h>
- C 庫 - <complex.h>
- C 庫 - <ctype.h>
- C 庫 - <errno.h>
- C 庫 - <fenv.h>
- C 庫 - <float.h>
- C 庫 - <inttypes.h>
- C 庫 - <iso646.h>
- C 庫 - <limits.h>
- C 庫 - <locale.h>
- C 庫 - <math.h>
- C 庫 - <setjmp.h>
- C 庫 - <signal.h>
- C 庫 - <stdalign.h>
- C 庫 - <stdarg.h>
- C 庫 - <stdbool.h>
- C 庫 - <stddef.h>
- C 庫 - <stdio.h>
- C 庫 - <stdlib.h>
- C 庫 - <string.h>
- C 庫 - <tgmath.h>
- C 庫 - <time.h>
- C 庫 - <wctype.h>
- C 標準庫資源
- C 庫 - 快速指南
- C 庫 - 有用資源
- C 庫 - 討論
- C 程式設計資源
- C 程式設計 - 教程
- C - 有用資源
C 庫 - gets() 函式
C 庫的 gets() 函式用於從標準輸入流 (stdin) 讀取一行,並將其儲存到 str 指向的字串中。它會繼續從輸入流讀取字元,直到遇到換行符或檔案結束。然後,換行符將被空終止符替換,生成的字串將儲存在 str 中。
語法
以下是 C 庫 gets() 函式的語法:
char *gets(char *str);
引數
此函式只接受一個引數:
- str : 指向字元陣列的指標,輸入字串將儲存在此處。它必須有足夠的空間來儲存輸入字串以及空終止符。
返回值
gets() 函式成功時返回相同的指標 str。失敗或檔案結束時,返回 NULL。
示例 1:從標準輸入讀取字串
此示例使用 gets() 從標準輸入讀取字串,然後列印輸入的字串。
以下是 C 庫 gets() 函式的示例。
#include <stdio.h> int main() { char str[100]; printf("Enter a string: "); gets(str); printf("You entered: %s\n", str); return 0; }
輸出
以上程式碼產生以下結果:
Enter a string: Hello, World! You entered: Hello, World!
示例 2:處理緩衝區溢位
此示例顯示當輸入字串超過緩衝區大小時會發生什麼,從而導致緩衝區溢位。只有適合緩衝區的開頭幾個字元會被儲存,這會導致意外的行為。
#include <stdio.h> int main() { char str[5]; printf("Enter a string: "); gets(str); printf("You entered: %s\n", str); return 0; }
輸出
執行以上程式碼後,我們得到以下結果:
Enter a string: Overflow You entered: Over
廣告