gpt4 book ai didi

c++ - 直接设置 struct tm 属性的值不起作用

转载 作者:搜寻专家 更新时间:2023-10-31 01:39:43 27 4
gpt4 key购买 nike

为什么 asctime(ptr) 什么都不返回?结构的所有变量都有值。谁能解释为什么会这样?

我也试过使用 strftime 但结果是一样的。

#include <iostream>
#include <ctime>
#include <new>
//#include <cstdio>

using namespace std;

int main(int argc,char *argv[])
{
struct tm *ptr=new struct tm;
//char buf[50];

ptr->tm_hour=0;
ptr->tm_mon=0;
ptr->tm_year=0;
ptr->tm_mday=0;
ptr->tm_sec=0;
ptr->tm_yday=0;
ptr->tm_isdst=0;
ptr->tm_min=0;
ptr->tm_wday=0;

cout << asctime(ptr);
//strftime(buf,sizeof(char)*50,"%D",ptr);
//printf("%s",buf);

return 0;
}

最佳答案

下面的程序有效。用 1 删除零,它将起作用。

    struct tm *ptr = new struct tm();
char buf[50];

ptr->tm_hour = 1;
ptr->tm_mon = 1;
ptr->tm_year = 1;
ptr->tm_mday = 1;
ptr->tm_sec = 1;
ptr->tm_yday = 1;
ptr->tm_isdst = 1;
ptr->tm_min = 1;
ptr->tm_wday = 1;
cout << asctime(ptr)

这也有效:

 ptr->tm_hour = 0;
ptr->tm_mon = 0;
ptr->tm_year = 0;
ptr->tm_mday = 1;
ptr->tm_sec = 0;
ptr->tm_yday = 0;
ptr->tm_isdst = 0;
ptr->tm_min = 0;
ptr->tm_wday = 0;

cout << asctime(ptr);

关于c++ - 直接设置 struct tm 属性的值不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30777327/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com