Как можно по быстрому создать текущую дату строкой.
Нужно для имени файла — для формирования логов, поэтому формат даты неважен, важно что бы в строке недопустимых символов не было, имя файла все таки.
Здравствуйте, Аноним, Вы писали:
Не понятно ничего
Здравствуйте, Аноним, Вы писали:
А>Как можно по быстрому создать текущую дату строкой.
А>Нужно для имени файла — для формирования логов, поэтому формат даты неважен, важно что бы в строке недопустимых символов не было, имя файла все таки.
можно так:
// crt_asctime.c
#include <time.h>
#include <stdio.h>
struct tm *newtime;
time_t aclock;
int main( void )
{
time( &aclock ); // Get time in seconds
newtime = localtime( &aclock ); // Convert time to struct tm form
/* Print local time as a string */
printf( "Current date and time: %s", asctime( newtime ) );
}
Sample Output
Current date and time: Sun Feb 03 11:38:58 2002
но этот метод использует сивол двоеточия,
который не допустим в имени файла, поэтому используй sprintf
Я делаю так, потому как на MFC, да еще Unicode:
wchar_t tmpbuf[128];
__time64_t ltime;
struct tm *today;
today = _localtime64( <ime );
_tzset();
wcsftime( tmpbuf, 128,_T("%d%B%Y%u\n"), today );
В полседнй строке прога вылетает. Чаго не так?