2015-04-23 250 views
0

gets_s()函數在我的編譯器上不起作用。我正在使用GCC的代碼塊。gets_s給gcc提供錯誤

這是錯誤:

undefined reference to '_imp_gets_s. 

誰能告訴我如何解決這個錯誤。

+0

'gets_s'它自己是一個錯誤,使用'fgets()'。 –

+0

不要使用'gets'使用'fgets()' – Gopi

+0

但是c11表示獲取函數不再使用。而是使用gets_s而不是 – jashan

回答

4

您應該使用fgets()而不是gets()gets_s()

Referrring C11,§K.3.5.4.1,第6段,

fgets()功能允許正確編寫的程序以安全地處理輸入線過長的結果陣列中存儲。一般來說,這要求fgets()的調用者關注結果數組中是否存在換行符。考慮使用fgets()(以及基於換行符的任何所需處理)而不是gets_s()