=============================================================
标题:wcscpy和wcscat
摘要:
备注:Windows CE 5.0 + VS2005
日期:2010.5.27
姓名:朱铭雷
=============================================================
今天在编写文件读写的代码时,遇到了这样的一个情况。
HANDLE hFile;
TCHAR szMsg[50];
hFile = CreateFile(lpFileName, GENERIC_READ | GENERIC_WRITE, 0, NULL,
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
if(hFile == INVALID_HANDLE_VALUE)
{
wcscat(szMsg, _T("打开文件"));
wcscat(szMsg, lpFileName);
wcscat(szMsg, _T("失败!"));
MessageBox(szMsg);
}
代码执行的情况,如图:
前面出现了几个方格,然后将第一个wcscat修改为wcscpy。即:
wcscpy(szMsg, _T("打开文件"));
执行了一下,如图:
这回不会出现方格了。看来最初始的字符串还是用wcscpy来添加,追加一个字符串再用wcscat函数。
同样的功能当然也可以这样写:
HANDLE hFile;
CString cszMsg;
hFile = CreateFile(lpFileName, GENERIC_READ | GENERIC_WRITE, 0, NULL,
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
if(hFile == INVALID_HANDLE_VALUE)
{
cszMsg.Format(_T("打开文件%s失败"),lpFileName);
MessageBox(cszMsg);
}