私はBASHのようなコマンドインタプリタを書いていますが、\
の後に改行が続き、入力ストリームの続きを意味しています。どのように私はWin32でそれを実装できますか?Win32コンソール - 最後の行へのバックスペース
ENABLE_LINE_INPUT
でコンソールモードを使用している場合、ユーザはバックスペースを押して前の行に戻ることはできません。 Windowsは彼がそうすることを妨げる。しかし、ENABLE_LINE_INPUT
を設定しないと、カーソルを手動で再配置する必要があります。これは、(1)ユーザーが入力ストリームをリダイレクトしている可能性があり、(2)競合状態になりやすいこと、私はできるならば、Windowsにそれをやらせてもらいたい。
改行をして食べる方法はありますか?
編集:
これは文書化されていないCSRSSポート要求を必要とするならば、私はまだ興味があります!
私が知っているわけではありません。 –
これはおそらく、 'pInputControl'パラメータに' nInitialChars'を設定することによって、 'ReadConsole'の" Unicode "バージョンを使用することによって行うことができます。 – John
@Amigable:ええ、私はそれを恐れていました... @John:Hm ... 'ENABLE_LINE_INPUT'モードの有無にかかわらず' pInputControl'の値を 'ReadConsoleW'に渡そうとしましたが、差異を参照してください:\ – Mehrdad