使用MFC或者C++完成以下两个函数(10分)
1)请实现一个读取当前系统时间的函数,并把时间格式化成字符串:“2005-11-7 10:30:00”返回给调用者。以下是函数接口描述:CString GetCurrentTime()返回值为当前时间的字符串表示;(4分)
2)请使用MFC或者C++提供一个函数,把上步取得的时间字符串存到c:\time.txt文件中。以下是函数接口描:int WriteDataToFile(LPBYTE lpData,int nDataLen) 参数lpData为操作数据块,nDataLen为操作数据块长度,返回值为实际写到文件中的数据块长度。(6分)
1)请实现一个读取当前系统时间的函数,并把时间格式化成字符串:“2005-11-7 10:30:00”返回给调用者。以下是函数接口描述:CString GetCurrentTime()返回值为当前时间的字符串表示;(4分)
2)请使用MFC或者C++提供一个函数,把上步取得的时间字符串存到c:\time.txt文件中。以下是函数接口描:int WriteDataToFile(LPBYTE lpData,int nDataLen) 参数lpData为操作数据块,nDataLen为操作数据块长度,返回值为实际写到文件中的数据块长度。(6分)
{
return COleDateTime::GetCurrentTime.Format();
}
{
CFile Output;
if (Output.Open("c:\\time.txt", CFile::modeCreate | CFile::modeWrite, NULL))
{
Output.Write(lpData, nDataLen);
Output.Close();
}
return nDataLen;
}调用时(结合上一贴):
CStrin str = GetCurrentTime();
WriteDataToFile((LPBYTE) (LPCTSTR) str, str.GetLength());
我理解题意是要把getcurrentTime函数重写下,我问好多人都和你说的一样。
CString GetCurrentTime()
{
CTime time = CTime::GetCurrentTime();
m_strYear = time.Formart("%y");
}
你看这样可以吗?
不好意思
{
return COleDateTime::GetCurrentTime.Format();
}
这样不算是重写GetCurrentTime函数吗?CString GetCurrentTime()
{
CTime time = CTime::GetCurrentTime();
m_strYear = time.Formart("%y");
}
这样就是重写GetCurrentTime了,谁告诉你的?GetCurrentTime与CTime的GetCurrentTime一点关系都没有?
一种是一个字符占一个字节,这样的话,汉语就无法表达,所以只好用两个字节,那么处理起来,就一会儿是一字节,一会儿是双字节,很麻烦,速度还慢。但存储所占的内存小一些。一种是不管什么字符都占两个字节,这样处理速度快,占内存会多一些。2000以及以后的操作系统,内核用UNICODE全部重写。所以鼓励用UNICODE码。
VC6.0默认是MBCS码,因为VC6.0是98时代的,98及其以下的操作系统,内核都是采用MBCS码的。
unsigned short *ps = L"123";还有在做网络编程的时候,用UNICODE也会非常麻烦。
{
CTime time = CTime::GetCurrentTime();
m_strYear = time.Formart("%y");
}
你看这样写可以吗?就问问