高階主控台 I/O

高階 I/O 函式提供從主控台輸入讀取字串流或將字串流寫入主控台輸出的簡單方式。 高階讀取作業會從控制台的輸入緩衝區取得輸入字元,並將其儲存在指定的緩衝區中。 高階寫入作業會從指定的緩衝區取得字元,並將其寫入目前游標位置的螢幕緩衝區,並在寫入每個字元時將游標往前移動。

高階 I/O 可讓您選擇 ReadFile WriteFile 函式和 ReadConsole 和 WriteConsole 函式。 它們完全相同,但兩個重要的差異除外。 主控台函式支援透過每個函式的 A 和 W 變體來使用 Unicode 字元或 ANSI 字元集;檔案 I/O 函式不支援 Unicode,除了在使用之前使用 SetConsoleCP SetConsoleOutputCP 函式上具有CP_UTF8常數的 UTF-8。 此外,檔案 I/O 函式可用來存取檔案、管道和序列通訊裝置;主控台函式只能與控制台句柄搭配使用。 如果應用程式依賴可能已重新導向的標準句柄,則此區別很重要。

使用任一組高階函式時,應用程式可以控制文字和背景色彩,以透過虛擬終端機序列顯示後續寫入螢幕緩衝區的字元。 應用程式也可以使用影響高階主控台 I/O 的主控台模式來啟用或停用下列屬性:

  • 將鍵盤輸入回顯至使用中螢幕緩衝區
  • 行輸入,在按下 ENTER 鍵之前,讀取作業不會傳回
  • 自動處理鍵盤輸入以處理歸位字元、CTRL+C 和其他輸入詳細數據
  • 自動處理輸出以處理換行、歸位字元、退格空間和其他輸出詳細數據

如需詳細資訊,請參閱下列主題: