У меня есть 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");
}