讀取不定長字串輸入

我是跳跳吧發表於2019-05-12

  C語言通常使用scanf處理輸入,如果要讀取字串,那麼就需要定義一個字元陣列(char[])。可是,如果陣列定義長度不足,就可能發生溢位。

  在C語言裡有個可以用來讀取字元的函式(getchar),我們可以利用這個函式來實現不定長的字串輸入。下面我們就來講講如何做到這一點。

  首先,說一下原理:getchar每次只能讀取一個字元。因此,我通過迴圈使用getchar逐個讀取字元的方式,將所有輸入字元讀取。

  那麼,我們要先解決一個問題:

    什麼時候結束迴圈不再讀取呢?

  當我們輸入字串後,按下Enter鍵,那麼輸入的字串就會被程式接收,寫入輸入緩衝區的除了剛才輸入的字串,還會有一個換行符
,因此getchar當讀取到字元
時,即可跳出迴圈,完成讀取。跳出迴圈後我們還要在後面加上

相關文章