簡體   English   中英

在沒有按“輸入”的情況下獲取c中的字符

[英]getting a char in c without pressing “enter”

可能嗎? 使用常規scanf或getchar將無法工作,因為我必須在輸入char后按“enter”。

你正在接近ncurses領域。

C中的輸入流被緩沖。

緩沖區是臨時保存數據的位置,直到准備好處理為止。

當發生以下三種情況之一時,緩沖區被刷新(清空):

  • 緩沖區已滿。
  • 數據將打印到標准輸出。
  • 緩沖區顯式刷新。 (按下回車鍵的是什么)。

您將不得不使用標准庫中未包含的工具才能擁有該功能。

流功能正在阻礙。 可能有一個fcntl選項可以關閉緩沖。 或者您可以使用較低級別的read電話獲得更好的運氣。

使用純標准C是不可能的。您必須使用系統特定的庫,如conio.h或Windows API等。

也許conio.h getch()是你需要的,但請注意它是非標准的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM