2015-06-23 2 views
0

Я использую приложение C++ Windows Form в Visual Studio 2013 для одного проекта. Интересно, как создать папку, содержащую текущую дату и время вместо имени? Можно сделать такую ​​папку?Как создать папку, содержащую текущую дату и время вместо имени

DirectoryInfo^ directory = Directory::CreateDirectory("C:\Users\Desktop\" + ??); 
+2

Создайте строку динамически, затем вы можете отформатировать ее любым способом. Также помните, что даже в расширенных версиях Microsoft C++ символ обратной косой черты (\\) имеет особое значение внутри символов символов и строк. –

ответ

2

не прописывать код имя каталога рабочего стола, это не C: \ Users \ Desktop. .NET делает его легко:

String^ path = System::IO::Path::Combine(
    Environment::GetFolderPath(System::Environment::SpecialFolder::Desktop), 
    DateTime::Now.ToString("yyyyMMddhhmmss")); 
System::IO::Directory::CreateDirectory(path); 
// Write file(s) to <path> 
//... 

Это до вас, чтобы решить, как мелкозернистый, чтобы сделать имя каталога, если вы делаете это на очень высокой скорости, то вы должны добавить «FFF», чтобы уменьшить риск для коллизий имен. Если это задание один раз в неделю, то достаточно только части даты.

0
 time_t currentTime; 
     struct tm *localTime; 

     time(&currentTime); 
     localTime = localtime(&currentTime); 
     int Day = localTime->tm_mday; 
     int Month = localTime->tm_mon + 1; 
     int Year = localTime->tm_year + 1900; 
     int Hour = localTime->tm_hour; 
     int Min = localTime->tm_min; 
     int Sec = localTime->tm_sec; 

     String^ dateTime = Day.ToString() + "." + Month.ToString() + "." + Year.ToString() + " (" + Hour.ToString() + "." + Min.ToString() + "." + Sec.ToString() + ")"; 

     DirectoryInfo^ directoryR = Directory::CreateDirectory("C:\\Users\\Desktop\\" + dateTime); 
Смежные вопросы