получить локальную системную дату и преобразовать ее в строку (MFC C ++) - PullRequest
1 голос
/ 23 марта 2011

Я унаследовал некоторый код MFC C ++ (это элемент управления ActiveX OCX, работающий на устройстве Windows Mobile 6.5), и мне нужно получить системную дату и время и добавить ее как часть существующей строки, которая передается через com-порт на другое устройство.

Я могу получить системную дату и время, но не могу понять, как преобразовать это в строку, чтобы я мог добавить ее (через strcat.)

Я нашел несколько разных ответов в Google и Bing, что на первый взгляд показалось такой простой проблемой ... :( но я не знаю достаточно MFC C ++, чтобы адаптировать любой из них под свои нужды. Любая помощь будет принята с благодарностью.

Ответы [ 2 ]

3 голосов
/ 23 марта 2011
CTime t = CTime::GetCurrentTime();
CString s = t.Format( "%A, %B %d, %Y" );
char * str = (LPCTSTR) s;

Обратите внимание, я считаю, что str действует только тогда, когда s находится в области видимости. Вероятно, следует скопировать его куда-нибудь, если вам нужно, чтобы он был рядом после уничтожения s. Если вы передаете его на strcat(), вы, вероятно, в порядке.

1 голос
/ 17 февраля 2015

В MFC следующий код предназначен для текущей даты в формате MMDDYYYY.

CTime t = CTime::GetCurrentTime();
CString strDate = t.Format("%m%d%Y");
...