如何在 C++ 中将 localtime_s 与指针一起使用
how to use localtime_s with a pointer in c++
我正在使用 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
returns 一个错误代码。
所以这是函数的固定版本:
int getMonth()
{
struct tm newtime;
time_t now = time(0);
localtime_s(&newtime,&now);
int Month = 1 + newtime.tm_mon;
return Month;
}
我正在使用 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
returns 一个错误代码。
所以这是函数的固定版本:
int getMonth()
{
struct tm newtime;
time_t now = time(0);
localtime_s(&newtime,&now);
int Month = 1 + newtime.tm_mon;
return Month;
}