- ベストアンサー
Cのコンソールアプリ2
表示したいファイルの日付を入力してください。 表示したい日:_ ※形式はYYMMDDです(2006年1月24日なら060124) 上記のように表示させたい場合、どうすればよいでしょうか? 2行目でsscanf()等で入力を待った後に3行目の表示ではなく、 3行目も表示した状態で2行目の入力を待つようにしたいのです。 何か良い方法があれば教えていただけませんでしょうか。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
APIを利用すると容易にできますよ。 以下にプログラムを記述します。 ---------------------------------------------------------------- #include <stdio.h> #include <windows.h> void main() { char input[ 64 ]; HANDLE hStdOut; COORD Pos; // 出力先のハンドルを取得 hStdOut = GetStdHandle( STD_OUTPUT_HANDLE ); // 表示 printf( "表示したいファイルの日付を入力してください。\n" "表示したい日:\n" " ※形式はYYMMDDです(2006年1月24日なら060124)\n" ); // カーソルを入力位置に移動 Pos.X = 14; Pos.Y = 1; SetConsoleCursorPosition( hStdOut, Pos ); // 入力 scanf("%s", input ); // カーソルを通常位置に戻す Pos.X = 0; Pos.Y = 3; SetConsoleCursorPosition( hStdOut, Pos ); // ハンドルを閉じる CloseHandle( hStdOut ); } ---------------------------------------------------------------- これで、やりたいことは実現できるはずですよ(^_^)
その他の回答 (1)
- onosuke
- ベストアンサー率67% (310/456)
環境依存です。 一般的な解放はありません。 もしかすると、エスケープシーケンスを利用できるかもしれません。
お礼
ありがとうございました。
お礼
ありがとうございました。 おかげ様でうまくいきました。