gpt4 book ai didi

c - 打印时间并将其保存在C中的文件中

转载 作者:行者123 更新时间:2023-11-30 15:07:52 27 4
gpt4 key购买 nike

我正在使用 ncurses,希望节省文件时间并打印它。所以我正在这样做:

typedef struct {
struct tm* lastLoggedTime;
} Data_t;

void saveData(char *login, Data_t *Data)
{
FILE *file = fopen(login, "wb");
fwrite(Data, sizeof(Data_t), 1, file);
fclose(file);
file = NULL;
}

void loadSavedData(FILE *file, Data_t *Data)
{
fread(Data, sizeof(Data_t), 1, file);
}

...

Data_t Data;
char strtime[32];
time_t timer;
time(&timer);
Data.lastLoggedTime = localtime(&timer);
saveData(login, &Data);

...

FILE *savefile = fopen(login, "rb");
loadSavedData(savefile, &Data);
strftime(strtime, 32, "%Y-%m-%d %H:%M:%S", Data.lastLoggedTime);
printw("Last login: %s\n", strtime);

但是,我遇到了段错误。 GDB 显示 in 发生在 strftime_l.c 第 562 行。

最佳答案

当结构具有指针时,您无法将结构写入文件。保存数据的结构有一个指向时间数据的指针,而不是实际数据。

如果你想保存数据,你必须自己序列化结构。

关于c - 打印时间并将其保存在C中的文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37870657/

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