當前位置:
首頁 > 知識 > C 中gets() 提示 warning: this program uses gets(), which is

C 中gets() 提示 warning: this program uses gets(), which is

C 中使用 gets() ,編譯時會出現如下警告:

warning: this program uses gets(), which is unsafe.

gets() 不安全是因為你給了他一個緩衝區,但是你卻沒有告訴它這個緩衝區到底有多大,也不知道輸入的內容到底有多大,輸入的內容可能超出緩衝區的結尾,引起你的程序崩潰。

解決方法可以使用 fgets 替代:

char buffer[bufsize];
fgets(buffer, bufsize, stdin);

實例:

// 使用 gets()
char buffer[4096];
gets(buffer);

// 使用 fgets() 替換 gets()
char buffer[4096];
fgets(buffer, (sizeof buffer / sizeof buffer[0]), stdin);

C 中gets() 提示 warning: this program uses gets(), which is

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 程序員小新人學習 的精彩文章:

mybatis細節
監控管理之Spring Boot Admin使用

TAG:程序員小新人學習 |