fgets()和gets()的區別

2021-08-28 05:06:14 字數 431 閱讀 6016

區別如下:

1、fgets() 函式的第2個引數指明了讀入字元的最大數量。如果該引數的值是n,那麼fgets()將讀入n-1個字元,或者讀到遇到的第乙個換行符為止;

2、如果fgets()讀到第乙個換行符,會把它儲存在字串中。這點和gets()不同,gets()會丟棄換行符;

3、fgets()函式的第3個引數指明要讀入的檔案。如果讀入從鍵盤輸入的資料,則以stdin(標準輸入)作為引數,該識別符號定義在stido.h中。

puts()函式會在待輸出字串末尾新增乙個換行符,而fputs()不會這麼做。

fgets和gets的區別

在程式設計中發現gets 和fgets 一些區別總結一下 1 fgets比 gets 安全,使用 gets 編譯時會警告 為了安全,gets 少用,因為其沒有指定輸入字元的大小,限制輸入緩衝區得大小,如果輸入的字元大於定義的陣列長度,會發生記憶體越界,堆疊溢位。後果非常怕怕 fgets會指定大小,如...

fgets 和gets 函式的區別

在程式設計中發現gets和fgets一些區別總結一下 1 fgets比gets安全!為了安全,gets少用,因為其沒有指定輸入字元的大小,限制輸入緩衝區得大小,如果輸入的字元大於定義的陣列長度,會發生記憶體越界,堆疊溢位。後果非常嚴重!fgets會指定大小,如果超出陣列大小,會自動根據定義陣列的長度...

fgets 和gets 函式的區別

在程式設計中發現gets和fgets一些區別總結一下 1 fgets比gets安全!為了安全,gets少用,因為其沒有指定輸入字元的大小,限制輸入緩衝區得大小,如果輸入的字元大於定義的陣列長度,會發生記憶體越界,堆疊溢位。後果非常嚴重!fgets會指定大小,如果超出陣列大小,會自動根據定義陣列的長度...