gpt4 book ai didi

C 命名文件日期

转载 作者:行者123 更新时间:2023-12-04 08:13:15 25 4
gpt4 key购买 nike

首先:我知道,以前也出现过一些类似的问题,但它对我不起作用。
我需要在 C 中创建一个 .txt 文件,名为“年/月/日_小时:分钟
我的代码是:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
int main(){
int hours, minutes, seconds, day, month, year;
char fileSpec [255];
//TIME for file name
time_t now;
time(&now);
printf("Today is : %s", ctime(&now));
struct tm *local = localtime(&now);

hours = local->tm_hour;
minutes = local->tm_min;
seconds = local->tm_sec;

day = local->tm_mday;
month = local->tm_mon + 1;
year = local->tm_year + 1900;

//Time block end

//create file
FILE * fPointer;
snprintf( fileSpec, "%04d_%02d_%02d_%02d:%02d.txt",year,month,day,hours,minutes); //From another post. I do not exactly know the syntax
fPointer = fopen(fileSpec,"w");
fprintf(fPointer ,"Date and Time of creation: %d/%d/%d %d:%d:%d\n",day,month,year,hours,minutes,seconds);
}
Sry 我奇怪的格式:/
我还是个初学者。
编辑:整个代码是: https://pastebin.com/78fSRJgx

最佳答案

调用 snprintf 的第二个参数应该是 max。缓冲区大小,您没有给出该参数。更换

snprintf( fileSpec, "%04d_%02d_%02d_%02d:%02d.txt",year,month,day,hours,minutes);
snprintf( fileSpec, 255, "%04d_%02d_%02d_%02d:%02d.txt",year,month,day,hours,minutes);
(其中 255 是 snprintf 将写入的字符串的最大长度)似乎应该可以解决您的问题。

关于C 命名文件日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65842499/

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