以下の内容はhttps://iww.hateblo.jp/entry/20110924/strftimeより取得しました。


strftime()は\0で終端するのか

結論から言って、strftime()は格納文字列長がギリギリだとバグっぽい動きをする。

http://codepad.org/Q2bKk2Yi

    time_t t;
    struct tm tm;
    char buf[] = "XXXXXXXXXXXXXXRRRR";

    printf("%s\n",buf);                        // XXXXXXXXXXXXXXRRRR

    time(&t);
    localtime_r(&t, &tm);
    strftime( buf, 15, "%Y%m%d%H%M%S ", &tm);  // 20110924080820RRRR
//  strftime( buf, 14, "%Y%m%d%H%M%S",  &tm);  // 201109240808XXRRRR
//  strftime( buf, 15, "%Y%m%d%H%M%S",  &tm);  // 20110924080820

    printf("%s\n",buf);

フォーマットの最後のスペースが必要な理由はなんだ。意味がわからん。
こんなコード、どうせライブラリの気まぐれでいつか動かなくなるだろうから使わん。




以上の内容はhttps://iww.hateblo.jp/entry/20110924/strftimeより取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14