C 語言筆記 — putchar() getchar() gets() puts()

Sharon Peng
3 min readJul 18, 2019

--

當我想要輸入一大串文字或是但一輸入位元卻不想打那麼多字時,gets(), puts(), getchar(), putchar().會是一個非常好的選項。

首先,putchar(), getchar() 來示範

使用方法大致如下

若我們想要輸入一長串數字,或是文字,gets(), puts()是個非常好的選項,可以包含空格,以下範例。

* scanf() 遇到空格會直接結束,gets()可以包含空格。

*當打gets(),可能會出現 warning: this program use gets(), which is unsafe.

會出現上述警告,是因為電腦不知道我們輸入的字串的多寡,電腦是照我們輸入換行符號(按下enter的瞬間)或是EOF才知道哪裡是結尾,所以很有可能造成緩衝區的溢位。

因為gets()有安全性方面的疑慮,所以現在都普遍使用fgets(),fgets()覺得我們上述所說的問題,示範如下:

在這邊先提一下,之後大家要學會去去看一下,函式的聲明。

什麼是函數的聲明呢?

其實是跟使用者解釋說,我這個函式的使用方法,我需要包含幾個參數等等。

http://www.cplusplus.com/reference/cstdio/fgets/

上圖即是fgets()的使用說明,它包含的三個參數,每個參數有各自的意義。

現在只是先讓大家有個初步認識,看不懂是正常der~

對我的文章有什麼疑慮還請盡量提出,謝謝~

--

--