讀書筆記 《字串的輸入輸出函式》

2021-08-08 00:21:33 字數 1052 閱讀 4736

首先預留儲存字串的空間,然後使用輸入函式來獲取這個字串。

1>gets()和puts()

gets()函式:

讀取到換行符輸入結束。

它讀取換行符之前(不包括換行符)的所有字元,在字元後新增空字元(\0),讀取換行符並丟棄。

兩種方式獲得輸入:

1>使用乙個位址把字串賦予name。

2>gets()的**使用return返回字串的位址,程式把這個位址分配給char型別的指標ptr。

#include

#define max 81

void main()

puts()函式:

puts(字串引數位址);

顯示字串自動新增乙個換行符;

遇到空字元就會停下來;

2>fgets()和fputs()

fgets()函式:

與gets()相比 多檢查儲存區是否能夠容納實際輸入的資料。

它需要第二個引數來說明最大讀入字元輸n,讀到換行符結束或者讀到n-1字元結束;

它會訪問換行符;

需要第三個引數說明讀哪乙個檔案。

#include

#define max 81

void main()

/*執行結果

hi,what's your name?

bob //輸入

bob?ah! bob

!*/

fputs()函式:

fputs(字串位址,stdout);

需要第二個引數來說明要寫的檔案,stdout代表輸出顯示

不自動新增換行符,

3>scanf()和printf()

scanf()函式:

scanf()函式與gets()函式主要的差別在於它們如何決定字串何時結束,scanf()基於獲取單詞 gets

scanf("%10s",&address); 會讀入10個字元或者遇到第乙個空白字元結束,最先滿足的那乙個結束。

printf()函式:

字串輸入輸出函式

while gets name null 可檢查檔案是否結尾 while ch getchar eof gets 讀取換行符並將其丟棄,fgets 把換行符存字串裡,但每次顯示字串會顯示換行符 不足之處 fgets 是為檔案i o而設計得,在處理鍵盤輸入時就不如gets 那麼方便。它需要第二個引數來...

字串輸入輸出函式

字串輸入首先要考慮的是儲存位置和儲存空間大小。例子 char name scanf s name 指標未初始化,可能指向記憶體中的任意地方,字串讀入的時候有可能覆蓋記憶體中的關鍵資料,造成程式或機器崩潰。char name 81 這種方式顯式宣告空間並進行初始化。scanf s str 函式讀入單個...

字串的輸入輸出

1.字串陣列 初始化 char s1 array 字元陣列 char s2 6 array 陣列長度 字串長度 1,因為字串末尾會自動添 0 printf s,c n s1,s2 2 2.字串指標 初始化 char sp pointer 字元指標 printf s,c,c n sp,sp,sp 2 ...