串輸入輸出

串輸入輸出在程式語言中指的是字元串的輸入輸出,在不同的程式語言中需要藉助不同的庫函式。

字元串輸入

字元串的輸入分為兩步:字元串存儲空間的分配;利用輸入函式來讀入字元串。
當讀入一個串時, 第一件要做的事情是分配一塊空間來存放串。這意味著申請足夠的存貯空間存放我們讀入的無論多長的串。最簡單的方法是在說明語句中包括明確的數組長度說明。一旦你已經為一個字元串申請了空間, 你就可以讀入這個字元串了。簡單介紹C語言和C++語言的輸入函式。

C語言字元串輸入函式

一、gets()函式

用gets()輸入字元串,沒有預定的長度,為了知道輸入何時結束,解決的辦法是讀字元串,直到遇到一個換行 (\n),按回車鍵可以結束輸入,它讀取 換行符之前(不包括換行符)的所有字元,在這些字元後添加一個空字元(\0),然後把這個字元串交給調用它的程式它將讀取換行符並將其丟棄。

缺點:不檢查預留有存儲區是否能夠容納實際輸入的數據,多出來的字元簡單地溢出到相鄰的記憶體區,fgets()改進了這個問題 。

下面舉個例子來說明。

運行結果:

二、fgets()函式

1.它需要第二個參數來說明最大讀入字元數,如果這個參數值為n, fgets()就會讀取最多n-1 個字元 或者讀完一個換行符為止,由這二者中最先滿足的那個結束輸入
2.如果fgets()讀取到換行符,就會把它存到字元串里,而不是像gets() 那樣丟棄換行符。它還需要第三個參數來說明讀哪個檔案,從鍵盤上讀數據時,可以使用stdin作為該參數 如:fgets( name , Max ,stdin);

缺點:由於fgets()把 \n 也當做輸入字元,所以輸出時,每遇到 \n 就自動換行,可以用strchr() 來定位和刪除換行符 。

下面舉出例子來說明。

運行結果:

三、 scanf()函式

1.帶有%s格式scanf()函式來讀入一個字元串 ,帶有%c可讀取一個字元,此時空格符也算一個字元所以輸入是要注意了
2.scanf()使用2種方法決定輸入結束 :遇到第一個空格,制表符,換行符如果指定了欄位寬度,比如%10s,則scanf()就會讀入10個字元,或知道遇到第一個空白字元,二者最先滿足的那個終止輸入。

3.scanf()函式返回的是一個整數值,是成功讀取的項目數或當遇到檔案結束時返回EOF 。

下面舉出一個例子來說明。

執行結果:

C++語言字元串輸入函式

一、String類——針對字元串長度未知

通過以下實例來說明。

運行結果:輸入:I Love C++! 按回車後輸出:I Love C++!

二、cin.get函式

cin.get(str, len)——可以輸入長度為len的字元串,但是只顯示前len-1個字元,餘下的空間用來存儲空字元 。

通過以下程式來說明使用方法。

三、cin.getline()函式

getline(char *line,int size,char="結束標識符") 第一個就是字元指針,第二個是字元長度,第三個1行的結束標識符,當該參數省略時,系統默認為'\0' 。

通過以下程式來說明。

運行結果:輸入:abcde 輸出:abcd 。字元串長度為4最後一個字元為'\0'。

如果要輸入多行字元串,而且其中包括空格、制表符或換行時,只需要將結束標示符設定為字元串中不會出現的字元即可。

通過以下程式來說明。

運行結果:輸入:abcd 輸出:abcd。

字元串輸出

字元串的輸出, 正如字元串輸入, 必須依賴於庫函式。簡單介紹C語言和C++語言的輸出函式。

C語言字元串輸出函式

一、puts()函式

puts()顯示字元串是自動在其後添加一個換行符,puts()遇到空字元時,輸出停止,所以確保有空字元存在否則直到發現一個空字元為止 。

下面舉個例子來說明。

執行結果:

二、fputs()函式
fputs()函式需要第二個參數來說明需要寫的檔案,可以使用stdout作為參數來進行輸出 stdout在stdio.h中定義了 ,與puts不同,fputs()並不為輸出自動添加換行符。

下面舉個例子來說明。

三、printf()函式

printf()通過格式控制符 %s 輸出字元串。除了字元串,printf() 還能輸出其他類型的數據 。

下面舉個例子來說明。

執行結果:

C++語言字元串輸出函式

一、puts()函式

puts()函式用來向標準輸出設備(螢幕)寫字元串並換行, 其調用格式為: puts(s); 其中s為字元串變數(字元串數組名或字元串指針)。

其中, puts()函式只能輸出字元串, 不能輸出數值或進行格式變換,並且可以將字元串直接寫入puts()函式中 。

下面舉個例子來說明。

執行結果:Hello! C++

Thank you

二、putch()函式

在當前游標處向文本螢幕輸出字元ch,然後游標自動右移一個字元位置。使用用法為 int putch(char ch),其中參數ch為要輸出的字元。返回值為如果輸出成功,函式返回該字元;否則返回EOF 。

下面舉個例子來說明。

執行結果:輸入:abcdefg 輸出:abcdefg。

相關詞條

熱門詞條

聯絡我們