写了一个输出TXT的函数,主要用于调试。
希望实现的是在UNICODE和多字节下都能用。(注:优先考虑UNICODE)
源码如下
如上,有两个问题
//问题---------------------
//1:为什么我输出的,是乱码?特别是当中英文混合的时候。注:我外部使用的TCHAR tsTrace[2048]这种数组滴。
//2:请问,为什么我输出的内容,不能自动跟到后面。会覆盖前面的呢?
//谢谢
哪位大大说下哇,谢谢~
希望实现的是在UNICODE和多字节下都能用。(注:优先考虑UNICODE)
源码如下
void TraceToText(LPCTSTR lpBuffer)
{
//问题---------------------
//1:为什么我输出的,是乱码?特别是当中英文混合的时候。注:我外部使用的TCHAR tsTrace[2048]这种数组滴。
//2:请问,为什么我输出的内容,不能自动跟到后面。会覆盖前面的呢?
//谢谢
//1)加上系统当前时间在前面
CString szTrace;
SYSTEMTIME sysTime;
GetLocalTime(&sysTime);
szTrace.Format(_T("%02u:%02u:%02u "),sysTime.wHour,sysTime.wMinute,sysTime.wSecond);
szTrace += lpBuffer;
//2)加上换行符
szTrace += _T("\r\n");
//3)输出
HANDLE hFile;
DWORD dwBuffer = 0;
hFile = CreateFile(_T("C:\\TraceToText.txt"),GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_ALWAYS,FILE_ATTRIBUTE_NORMAL,0);
WriteFile(hFile,szTrace.GetBuffer(),szTrace.GetLength()*sizeof(TCHAR),&dwBuffer,NULL);
szTrace.ReleaseBuffer();
CloseHandle(hFile);
}
如上,有两个问题
//问题---------------------
//1:为什么我输出的,是乱码?特别是当中英文混合的时候。注:我外部使用的TCHAR tsTrace[2048]这种数组滴。
//2:请问,为什么我输出的内容,不能自动跟到后面。会覆盖前面的呢?
//谢谢
哪位大大说下哇,谢谢~