0
#include<time.h>
#include<stdio.h>

int main(void)
 {
 time_t timer;
 int i;
 char mon[4];
 char *ti=0;
 ti=asctime(localtime(&timer));
 ti=ti+4;
 for(i=0;i<3;i++)
 {
  mon[i]=*ti++;

 }
  mon[3]='\0';

 timer=time(NULL);
  printf("The current time is %s\n",mon);
  return 0;
 }

こんにちは、asctime が時々間違った時間ポインターを返す理由を誰か説明できますか?Iam は asctime 文字列から月を保存するために「mon」を使用しています。

4

1 に答える 1

2

timer初期化せずに使用しています。を呼び出す前に、次のことlocaltimeを試してください。

time(&timer);

また、それを行うより簡単な方法は次のとおりです。

ctime(&timer);
于 2013-03-07T06:59:01.100 に答える