Win32API コンソールスクリーンバッファのカーソル位置を設定する SetConsoleCursorPosition

コンソールスクリーンバッファのカーソル位置を設定するには、 SetConsoleCursorPosition関数を用いる。


SetConsoleCursorPositionのプロトタイプ

BOOL SetConsoleCursorPosition(
  HANDLE hConsoleOutput,   // コンソールスクリーンバッファのハンドル
  COORD dwCursorPosition   // 新しいカーソル位置の座標
);


使用例:1度出力した文字列を上書きする

#include <windows.h>
#include <stdio.h>

int main()
{
	COORD coord;
	coord.X = 0;
	coord.Y = 0;

	//文字列 "ABCDEFG" を表示する
	puts("ABCDEFG");
	
	//1秒間スリープ
	Sleep(1000);

	//標準出力のカーソル位置を(0, 0)に設定する
	SetConsoleCursorPosition(
            GetStdHandle(STD_OUTPUT_HANDLE), 
            coord);
	
	//文字列 "ABCDEFG" が消えて、"Hello, World!" が表示される
	puts("Hello, World!");
	
	return 0;
}



  • 実行結果

  • まず、「ABCDEFG」と表示される。



    1秒後に、カーソルの位置がリセットされ、「ABCDEFG」が「Hello, World!」に上書きされる。


    参考
    http://msdn.microsoft.com/ja-jp/library/cc429740.aspx