在我的编程生涯中,我一直在用VB.NET编程。我有一个C ++项目提供给我,我需要做一些修改,我感到绝望地迷失和困惑。
它是C ++中的Visual Studio 2008 MFC项目。
已定义输出变量:
char szout[900];
下面这一行用于在输出前将值附加到输出变量:
strcpy(szout, "TextHere")
因此,我尝试过的搜索中的众多示例之一就是包含在顶部:
#include <windows.h>
然后是我的代码:
SYSTEMTIME st;
GetSystemTime(&st);
char myDate[20] = st;
CT2CA outputDate(myDate);
strcat(szout, outputDate);
由于某种原因,附加在szout上的变量必须是CT2CA类型,我不确定这是什么。
但是后来我在第二和第三行得到了以下错误(char myDate ......等等......)和(CT2CA输出等等......)
error C2440: 'initializing' : cannot convert from 'SYSTEMTIME' to 'char [20]'
error C2664: 'ATL::CW2AEX<>::CW2AEX(LPCWSTR) throw(...)' : cannot convert parameter 1 from 'char [20]' to 'LPCWSTR'
所以我会澄清,我是一个完整的新手,并会感谢任何和所有的帮助。
谢谢,
答案 0 :(得分:24)
如果您使用的是MFC,为什么不:
// uses printf() format specifications for time
CString t = CTime::GetCurrentTime().Format("%H:%M");
// Or, if you have OLE Support
CString t = COleDateTime::GetCurrentTime().Format("%H:%M");
答案 1 :(得分:4)
在MFC中,以下代码用于MMDDYYYY格式的当前日期。
CTime t = CTime::GetCurrentTime();
CString s = t.Format("%m%d%Y");