在C語言中,gets()
函數已經被棄用,因為它可能導致緩沖區溢出。作為替代,你可以使用fgets()
函數。fgets()
函數允許你指定要讀取的最大字符數,從而避免了緩沖區溢出的風險。
下面是一個使用fgets()
的示例:
#include<stdio.h>
int main() {
char buffer[100];
printf("請輸入一行文本:");
fgets(buffer, sizeof(buffer), stdin);
printf("你輸入的文本是:%s", buffer);
return 0;
}
在這個示例中,我們使用fgets()
函數從標準輸入(stdin
)讀取一行文本,并將其存儲在buffer
數組中。sizeof(buffer)
確保我們不會讀取超過緩沖區大小的字符,從而避免了緩沖區溢出。注意,fgets()
會在讀取的字符串末尾添加一個換行符(\n
),如果你不想保留這個換行符,可以手動刪除它。