在Linux下,getchar()
是一個常用的輸入函數,它從標準輸入設備(通常是鍵盤)讀取一個字符
getchar()
getchar()
函數用于從標準輸入設備(通常是鍵盤)讀取一個字符。它的原型如下:
#include <stdio.h>
int getchar(void);
getchar()
函數逐個字符地讀取輸入,直到遇到換行符(‘\n’)或EOF(文件結束標志)。它通常用于讀取單個字符,例如密碼輸入或菜單選擇。
scanf()
scanf()
函數用于從標準輸入設備讀取格式化的輸入。它的原型如下:
#include <stdio.h>
int scanf(const char *format, ...);
scanf()
函數根據指定的格式字符串讀取輸入,并將讀取的值存儲在提供的變量中。它通常用于讀取多個值,例如整數、浮點數和字符串。scanf()
函數在讀取時會跳過空白字符(空格、制表符和換行符)。
fgets()
fgets()
函數用于從標準輸入設備讀取一行文本。它的原型如下:
#include <stdio.h>
char *fgets(char *str, int n, FILE *stream);
fgets()
函數讀取指定數量的字符,直到遇到換行符或EOF。讀取的文本將被存儲在提供的字符串變量中。如果未指定n
,則fgets()
將讀取整行,包括換行符。fgets()
函數適用于讀取較長的文本行,例如用戶輸入的電子郵件地址或評論。
總結:
getchar()
適用于讀取單個字符,例如密碼輸入或菜單選擇。scanf()
適用于讀取多個格式化的值,例如整數、浮點數和字符串。fgets()
適用于讀取整行文本,例如用戶輸入的電子郵件地址或評論。根據具體需求,可以選擇合適的輸入函數以滿足程序的需求。