• ベストアンサー

Cのコンソールアプリ2

表示したいファイルの日付を入力してください。 表示したい日:_  ※形式はYYMMDDです(2006年1月24日なら060124) 上記のように表示させたい場合、どうすればよいでしょうか? 2行目でsscanf()等で入力を待った後に3行目の表示ではなく、 3行目も表示した状態で2行目の入力を待つようにしたいのです。 何か良い方法があれば教えていただけませんでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.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 ); } ---------------------------------------------------------------- これで、やりたいことは実現できるはずですよ(^_^)

t_turbo
質問者

お礼

ありがとうございました。 おかげ様でうまくいきました。

その他の回答 (1)

  • onosuke
  • ベストアンサー率67% (310/456)
回答No.1

環境依存です。 一般的な解放はありません。 もしかすると、エスケープシーケンスを利用できるかもしれません。

t_turbo
質問者

お礼

ありがとうございました。

関連するQ&A