c/c++學習系列之putchar、getchar、puts、gets的運用

c/c++學習系列之putchar、getchar、puts、gets的運用

如果您只想取得使用者輸入的字元,則可以使用getchar(),它直接取得使用者輸入的字元並傳回,如果只想要輸出一個字元,則也可以直接使用putchar(),以下是個簡單的例子:

複製代碼
#include <stdio.h>

int main(void) {
    char c;
    
    printf("請輸入一個字元");
    c = getchar();
    putchar(c);
    putchar('\n');
      
    return 0;
}
複製代碼

如果您輸入了兩個以上的字元,則getchar()會取得第一個字元,並將第二個字元留在緩衝區中,直到您使用getchar()或scanf()再次嘗試取得輸入。

如果想要取得使用者輸入的整個字串,則可以使用gets(),它會取得使用者的輸入字串,不包括按下Enter的換行字元碼,而想要輸出整個字串,也可以直接使用puts(),它在輸出字串後,會直接進行換行,例如

複製代碼
#include <stdio.h>

int main(void) {
    char str[20];
    
    puts("請輸入字串:");
    gets(str);
    puts("輸入的字串為:");
    puts(str);
    
    return 0;
}
複製代碼

 

 

 

getchar():

getchar有一個int型的返回值.當程序調用getchar時.程序就等着用戶按鍵.用戶輸入的字符被存放在鍵盤緩衝區中.直到用戶按回車爲止(回車字符也放在緩衝區中).當用戶鍵入回車之後,getchar纔開始從stdin流中每次讀入一個字符.getchar函數的返回值是用戶輸入的第一個字符的ASCII碼,如出錯返回-1,且將用戶輸入的字符回顯到屏幕.如用戶在按回車之前輸入了不止一個字符,其他字符會保留在鍵盤緩存區中,等待後續getchar調用讀取.也就是說,後續的getchar調用不會等待用戶按鍵,而直接讀取緩衝區中的字符,直到緩衝區中的字符讀完爲後,纔等待用戶按鍵.

  getch與getchar基本功能相同,差別是getch直接從鍵盤獲取鍵值,不等待用戶按回車,只要用戶按一個鍵,getch就立刻返回, getch返回值是用戶輸入的ASCII碼,出錯返回-1.輸入的字符不會回顯在屏幕上.getch函數常用於程序調試中,在調試時,在關鍵位置顯示有關的結果以待查看,然後用getch函數暫停程序運行,當按任意鍵後程序繼續運行.

未來爲我而來,在自己的手中

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章