cobprintf

指定したフォーマット文字列を仮想カーソルの現在位置から表示します。
制約事項: この関数は、ネイティブ COBOL でのみサポートされます。

構文:

#include "cobscreen.h"

int cobprintf (const cobchar_t *fmt, ...);

パラメーター:

fmt 表示するフォーマット文字列

説明:

fmt に指定したフォーマット文字列を展開し、標準属性 (A_NORMAL) で仮想カーソルの現在位置から表示します。展開後の文字列が仮想カーソルから行末までの幅より長い場合には、画面の端に達した時点で折り返されます。

fmt パラメーターは、C の printf() ライブラリ ルーチンの場合と同様のフォーマット文字列であり、展開して表示されます。たとえば、fmt に %s が含まれている場合には、cobprintf() で続けて指定した該当する文字列引数によって置き換えられます。

フォーマット文字列には改行文字 (\n) を含めることができます。改行文字を含めると、その文字で仮想カーソルが次の行の先頭に移動します。null 文字 (\0) は文字列の末尾を表します。その他の制御文字は無効であり、使用すると不定の結果となります。

fmt に指定するフォーマット文字列は、展開後の長さが 255 字以下でなければなりません。

このルーチンは出力した引数の数を返し、エラーを検出すると -1 を返します。

相当する COBOL 構文:

なし。

例:

次のコードは、単純なカウンターを表示します。

int secs = 10;
char *message = "Time Left: ";

cobmove(10, 10);
cobprintf("%s%d", message, secs);
while (secs--)
{
    sleep(1);
    cobmove(10, 10 + strlen(message));
    cobprintf("%2d", secs);
}