Cygwin なんでも掲示板

一覧最新記事過去一覧 | 検索FAQアンテナHOME
(新規投稿・発言はできません)


スレッド

└◇670:
strftime がおかしい [森] 10/26 21:34

 └◇672:仕様では。 [MSだす。] 10/27
  └◇673:Re:仕様では。 [森] 10/27
   └◇674:Re[2]:仕様では。 [森] 10/28 <


670● strftime がおかしい[ 森 ] 2002 10/26 21:34
strftimeが日付しか返さないようです、
簡単なテスト・プログラム
-----------------------------------------------
#include <stdio.h>
#include <time.h>

int main(int argc, char *argv[])
{
char tbuf[1024];
time_t now;

        (void)time(&now);
        strftime(tbuf, sizeof (tbuf), "%h %d %T ", localtime(&now));
        printf("%s\n", tbuf);
}
---------------------------------------------------
を実行すると
/gcc>./strftime.exe
26
となります、この26は多分 今日の26日だと思います。
cygwin は
>uname -a
CYGWIN_NT-5.0 XXX 1.3.13(0.62/3/2) 2002-10-13 23:15 i686 unknown

gccは
>gcc -v
Reading specs from /usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5/specs
gcc version 2.95.3-5 (cygwin special)
です、また関係しそうな環境変数は

LANG=ja_JP.SJIS
TZ=JST-9

ですが、LANG に関しては
LANG=ja と LANG= を試してみましたが、変わりません。

ンー、どうなっているのだろうか、
strftime がおかしいのか、それとも私の cygwin 環境がおかしいのだろうか?

何かアドバイス等ありましたら お願いします。
スレッド一覧


672● 仕様では。[ MSだす。 ] 2002 10/27 03:15
この手のことは詳しくないですか、
info でlibc -> Timefns -> strftime 。
これを見ると %h %T はないようです。
仕様ではないでしょうか。
スレッド一覧


673● Re:仕様では。[ 森 ] 2002 10/27 10:44
ガーン、

%h %b と等価である。(SU)
%T 24時間表記の時間(%H:%M:%S)。(SU)

ついつい、linux用の日本語manページを見ていました、違っているのね..

ありがとうございます。試してみます。
スレッド一覧


674● Re[2]:仕様では。[ 森 ] 2002 10/28 09:48
有難うございました、
#ifdef __CYGWIN__
strftime(p, sizeof (tbuf) - (p - tbuf), "%b %d %X ", localtime(&now));
#else
strftime(p, sizeof (tbuf) - (p - tbuf), "%h %d %T ", localtime(&now));
#endif
で、解決です。

そう言えば、どこかで ”ライセンスの関係で cygwin では newlib を採用している”と言う話を聞いた覚えがあります。
newlib と LIBCとはチョット違う所があるのですね、
勉強になりました。
スレッド一覧

早田のホームページへ
CGIROOM