在使用scanf_s
函數處理字符串輸入時,可以通過指定格式字符串來限制輸入的長度,以防止緩沖區溢出。下面是一個示例代碼,演示了如何使用scanf_s
處理字符串輸入:
#include <stdio.h>
int main() {
char str[100];
printf("請輸入一個字符串:");
scanf_s("%99s", str, sizeof(str)); // 限制輸入的長度為99個字符,以防止緩沖區溢出
printf("你輸入的字符串是:%s\n", str);
return 0;
}
在上面的代碼中,scanf_s
函數的第一個參數為格式字符串"%99s"
,表示最多讀取99個字符(包括空字符’\0’)。第二個參數為str
,表示要存儲輸入字符串的字符數組。第三個參數為sizeof(str)
,表示str
數組的大小,以確保scanf_s
不會寫入超出數組界限的字符。
需要注意的是,scanf_s
函數只在一些最新的編譯器中才可以使用,如果你的編譯器不支持scanf_s
,可以考慮使用gets_s
或fgets
等函數來處理字符串輸入。