关于WriteFile的输出的疑问。

写了一个输出TXT的函数,主要用于调试。
希望实现的是在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:请问,为什么我输出的内容,不能自动跟到后面。会覆盖前面的呢?
    //谢谢

哪位大大说下哇,谢谢~
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值