errno_t _strtime_s( char *buffer, size_t sizeInBytes );bufferに、現在時刻が出力されます。
sizeInBytesは、bufferのサイズです。
/* strtime01.c */ #include <stdio.h> #include <conio.h> #include <time.h> #include <windows.h> int main() { char szMytime[16], szOldtime[16] = ""; COORD cPos; HANDLE hOut; cPos.X = 2; cPos.Y = 2; hOut = GetStdHandle(STD_OUTPUT_HANDLE); while (!_kbhit()) { SetConsoleCursorPosition(hOut, cPos); _strtime_s(szMytime, sizeof(szMytime)); if (strcmp(szOldtime, szMytime) != 0) { printf("%s\n", szMytime); strcpy_s(szOldtime, sizeof(szOldtime), szMytime); } } return 0; }コンソール・アプリケーションでカーソル位置を指定するには、SetConsoleCursorPosition関数を使います。これは、すでに第59章でやりました。
このプログラムでは、_strtime_s関数でszMytimeに現在時刻を取得します。次にszOldtimeと比較し、異なればszMytimeを指定の位置に表示します。そして、szOldtimeに現在時刻をコピーします。
これを永久ループ内で繰り返します。 何かキーが押されると、ループを抜けてプログラムが終了します。
実行結果は、次のようになります。
Update Sep/04/2007 By Y.Kumei