字串處理函式fgets()和gets()

2021-07-23 19:02:32 字數 481 閱讀 8995

scanf():一次只能接受乙個單詞,不能接受一行

gets():接受一整行的輸入,輸入多少就讀取多少,但有可能輸入的長度和要賦值的變數目標不一致而導致緩衝區溢位,這也就意味著它可能會改變不屬於當前程式所在空間的資料,一次在新標準c11中已經被廢棄不用了,不提倡使用gets()。

gets_s():​新標準c11中的可選項,因為是可選的所以可能有的編譯器並沒有實現這個函式 所以也就不支援這個函式,它相比較gets()多了乙個引數,需要指明待讀取內容的長度防止陣列越界。

fgets():​一共有三個引數,第乙個引數:儲存所得資料的緩衝區;第二個引數:讀入資料的最大長度,第三個:我們選擇需要輸入的地方 例如stdio表示從鍵盤輸入

ps:gets()在讀取到換行符後會將它丟棄,而fgets()則會保留換行符​,將換行符讀取到字串之中。puts()輸出是會在字串最後補乙個換行符,而fputs()則不會,所以一般gets()搭配puts()使用;fgets()搭配fputs()使用。

字串讀寫函式fgets

字串讀寫函式fgets 一 讀字串函式fgets函式的功能是從指定的檔案中讀乙個字串到字元陣列中,函式呼叫的形式為 fgets 字元陣列名,n,檔案指標 其中的n是乙個正整數。表示從檔案中讀出的字串不超過 n 1個字元。在讀入的最後乙個字元後加上串結束標誌 0 例如 fgets str,n,fp 的...

字串讀寫 fgets 函式的使用

fgets 函式的使用 fgets 既可以讀檔案,又可以讀標準輸入,而且可以防止溢位。但是它只能輸入字串 且能讀到回車符 n 故而用scanf語句的較多。scanf語句可以輸入各種格式的資料,其功能較為強大。fgets 的使用方法 char fgets char string,int n,file ...

字串處理函式

1 puts 向顯示器輸出字串 原型 int puts const char s 標頭檔案 include 返回值 成功返回輸出的字元數,失敗返回eof puts 函式與printf 輸出字串的區別 1.puts在輸出字串時,遇到 0 會自動終止輸出,並將 0 轉換為 n 來輸出 2.printf在...