2012-03-04 24 views
0

実行可能ファイルが一致とヒットと呼ばれると仮定して、このプログラムの実行例を示します。この試合は、人間のプレーヤーがゲームに勝つ状況を示しています。ユーザー入力は太字の です。C言語でのユーザー入力のアンダーライン

/ホーム/ userXYZ/ECE15/LAB3>コンピュータは4桁の数字を選択したMATCHとHITゲーム

ようこそmatch_and_hit。
12回のクエリでそれを推論してみてください。

ラウンド#1
入力してくださいクエリ(4桁): < ---(この番号に下線をしなければならない)

.......

Iユーザーの入力に下線を引く方法を理解することはできません。どんな助けでも大歓迎です。

+0

これは、CLI(コマンドラインインターフェイス)アプリケーションですか? –

+0

端末は下線付きテキストをサポートしていますか?または '-'文字を次の行に入れたいですか? –

+0

私はCLIアプリケーションについては何もしていません。私の教授が私にユーザの入力に下線を付けるように頼んだ –

答えて

1

端末がANSIエスケープシーケンスをサポートしていますと仮定すると、あなたがこれを使用することができます:

#define ANSI_UNDERLINED_PRE "\033[4m" 
#define ANSI_UNDERLINED_POST "\033[0m" 

printf(ANSI_UNDERLINED_PRE "underlined" ANSI_UNDERLINED_POST "\n"); 
+1

0mがすべての属性をリセットすることに注意してください。 –

+0

ここでprintf文を書くべきですか?ユーザーの入力をスキャンした直後か何か? –

+0

@ NaregRostamiあなたは次のようなものを使うことができます: 'printf("あなたのクエリー(4桁)を入力してください: "); printf(ANSI_UNDERLINED_PRE); scanf( "%d"、bla); printf(ANSI_UNDERLINED_POST); ' – ouah

0

CLIアプリケーションでは、アプリケーションを呼び出す実際の端末に依存することはできません。

+0

私はユーザー入力の下線を行う関数を考え出す必要がありますか?/ –

0

端末がそれをサポートしている場合:

printf("\x1b[04mUnderlined\x1b[24mUnderlineOff"); 
関連する問題