我有4个值:A,B,C,D.在使用这些值进行一组计算之后,我希望我的代码将结果输出到表单的文件中ABCD_MM.DD.YY.txt,以跟踪它何时完成.
我不太确定在C中做到这一点的最佳方法.我有一个"工作"版本使用itoa(),它不是标准的C函数,并且在编译时会在我的机器上无法识别(并且已经消失).
这是我执行此操作的代码,有人可以帮助更好(并且普遍接受)的方式吗?char数组name是使用全局范围定义的.
void setFileName(){
time_t now;
struct tm *today;
char date[9];
//get current date
time(&now);
today = localtime(&now);
//print it in DD.MM.YY format.
strftime(date, 15, "%d.%m.%Y", today);
char buff[20];
char vars[20];
//put together a string of the form:
//"ABCD_DD.MM.YY.txt"
strcpy(vars, itoa(A, buff, 20));
strcat(vars, itoa(B, buff, 20));
strcat(vars, itoa(C, buff, 20));
strcat(vars, itoa(D, buff, 20));
strcpy(name, vars);
strcat(name, "_");
strcat(name, date);
strcat(name, ".txt");
}
Run Code Online (Sandbox Code Playgroud)