12
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Windowsでcursesを使う

Last updated at Posted at 2016-11-12

はじめに

cursesやncursesはUnix向けなので,Windowsでは使えません。なので代わりにPDCursesというものがあるのでこれを使います。

環境

  • Windows 10
  • Visual Studio 2015

PDCursesのダウンロード

こちらのGitHubページからPDCursesのソースをダウンロードし,適当な場所に解凍しておきます。

PDCursesのビルド

1. C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\vcvars32.batを実行します。これは後でnmakeコマンドを使う前準備です。

2. コマンドプロンプトで以下のコマンドを実行して,PDCursesのソースがある場所を指定します。

set PDCURSES_SRCDIR=<PDCursesの解凍先>\PDCurses-master

3. コマンドプロンプトでPDCursesのwin32フォルダに移動して以下のコマンドを実行します。nmakeC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\binにあります。

nmake -f vcwin32.mak

4. win32フォルダにpdcurses.libができていることを確認します。

Visual Studioの設定

Visual Studioで空のC++プロジェクトを作って,以下の設定を行います。

  • C/C++ > Additional Include Directoriesに<PDCursesの解凍先>\PDCurses-masterを追加
  • Linker > General > Additional Library Directoriesに<PDCursesの解凍先>\PDCurses-master\win32を追加
  • Linker > Input > Additional Dependenciesにpdcurses.libを追加

使ってみる

早速PDCursesを使ってみましょう。curses.hをインクルードするとPDCursesの関数を使えるようになります。

以下のプログラムを実行するとHello cursesという文字列が斜め下に移動しながら表示されます。

#include <curses.h>

int main(int argc, char *argv[])
{
	// 初期化
	if (initscr() == NULL) {
		return 1;
	}

	int i = 0;

	while (true) {
		// 画面をクリア
		erase();

		// 文字列を描く
		mvaddstr(i, i, "Hello curses");
		i++;

		// 画面を更新
		refresh();

		// 1秒待機
		napms(1000);
	}

	return 0;
}

参考リンク

ぽんこつ研究所 - PDCursesを使ってみたい

12
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?