標準/拡張機能 | C/C++ | 依存項目 |
---|---|---|
ISO C 改訂 |
両方 |
#include <wchar.h>
size_t wcsftime(wchar_t * __restrict__ wcs, size_t maxsize,
const wchar_t * __restrict__ format,
const struct tm * __restrict__ time_ptr)
#define _XOPEN_SOURCE
#include <wchar.h>
size_t wcsftime(wchar_t * __restrict__ wcs, size_t maxsize,
const char * __restrict__ format,
const struct tm * __restrict__ time_ptr)
#define _XOPEN_SOURCE
#define _MSE_PROTOS
#include <wchar.h>
size_t wcsftime(wchar_t * __restrict__ wcs, size_t maxsize,
const wchar_t * __restrict__ format,
const struct tm * __restrict__ time_ptr)
XPG4 の特殊な動作: プログラム・ソース・ファイル内の wchar ヘッダーをインクルードするステートメントより前に、XPG4 の動作を指定してフィーチャー・テスト・マクロを定義した場合、_MSE_PROTOS フィーチャー・テスト・マクロも定義しない限り、コンパイラーは、ユーザーのプログラムが wcsftime() 関数の XPG4 版を使用するものと想定します。 XPG4 と他のフィーチャー・テスト・マクロのリストについては、表 1 を参照してください。
size_t wcsftime(wchar_t *wcs, size_t maxsize, const char *format,
const struct tm *time_ptr)
wcsftime() 関数のこの種類と MSE 種類との間の差は、3 番目の引数、*format が書式制御ストリングから成るワイド文字の配列ではなく、文字の配列を指定することです。
終了 NULL ワイド文字を含む結果のワイド文字の合計数が maxsize を超えない場合には、wcsftime() は、終了 NULL ワイド文字を含まない、wcs が指す配列に配置されたワイド文字数を戻します。
正常に実行されなかった場合、wcsftime() は、0 を戻し、配列の内容は不確定となります。
⁄* CELEBW10 *⁄
#include <stdio.h>
#include <time.h>
#include <wchar.h>
int main(void)
{
struct tm *timeptr;
wchar_t dest[100];
time_t temp;
size_t rc;
temp = time(NULL);
timeptr = localtime(&temp);
rc = wcsftime(dest, sizeof(dest)-1, L" Today is %A,"
L" %b %d.¥n Time: %I:%M %p", timeptr);
printf("%d characters placed in string to make:¥n¥n%S", rc, dest);
}
42 characters placed in string to make:
Today is Friday, Jun 16.
Time: 01:48 pm