Linux下C編程:getchar()詳解

來源:互聯網
上載者:User

getchar

函數名: getchar

功 能: 從stdin流中讀字元

用 法: int getchar(void);

註解:

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

getch與getchar準系統相同,差別是getch直接從鍵盤擷取索引值,不等待使用者按斷行符號,只要使用者按一個鍵,getch就立刻返回, getch傳回值是使用者輸入的ASCII碼,出錯返回-1.輸入的字元不會回顯在螢幕上.getch函數常用於程式調試中,在調試時,在關鍵位置顯示有關的結果以待查看,然後用getch函數暫停程式運行,當按任意鍵後程式繼續運行.

程式例:

#include <stdio.h>     int main(void)     {     int c;     /* Note that getchar reads from stdin and     is line buffered; this means it will     not return until you press ENTER. */  while ((c = getchar()) != '\n')     printf("%c", c);     return 0;     }

註:可以利用getchar()函數讓程式調試運行結束後等待編程者按下鍵盤才返回編輯介面,用法:在主函數結尾,return 0;之前加上getchar();即可

查看全套文章:http://www.bianceng.cn/Programming/C/201212/34807.htm

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.