gpt4 book ai didi

c++ - 如何在 C++ 中将 localtime_s 与指针一起使用

转载 作者:搜寻专家 更新时间:2023-10-31 00:30:56 25 4
gpt4 key购买 nike

我正在使用 C++ 中的一个函数来帮助获取当月的整数。我进行了一些搜索并找到了一个使用本地时间的,但我不想将其设置为删除警告,因此我需要使用 localtime_s。但是当我使用它时,我的指针不再起作用,我需要有人帮助我找到我缺少的指针。

#define __STDC_WANT_LIB_EXT1__ 1
#include <stdio.h>
#include <Windows.h>
#include "FolderTask.h"
#include <ctime> //used for getMonth
#include <string>
#include <fstream>

int getMonth()
{
struct tm newtime;
time_t now = time(0);
tm *ltm = localtime_s(&newtime,&now);
int Month = 1 + ltm->tm_mon;
return Month;
}

我得到的错误是:

error C2440: 'initializing': cannot convert from 'errno_t' to 'tm *' note: Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast

最佳答案

看起来您使用的是 Visual C++,所以 localtime_s(&newtime,&now); 用您想要的数字填充 newtime 结构。与常规 localtime 函数不同,localtime_s 返回错误代码。

所以这是函数的固定版本:

int getMonth()
{
struct tm newtime;
time_t now = time(0);
localtime_s(&newtime,&now);
int Month = 1 + newtime.tm_mon;
return Month;
}

关于c++ - 如何在 C++ 中将 localtime_s 与指针一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35258285/

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