我如何将CHAR变量复制到c++中的WCHAR变量

How can I copy a CHAR Variable to WCHAR Variable in C++

本文关键字:变量 c++ 中的 WCHAR 复制 CHAR      更新时间:2023-10-16

我想把一个CHAR文件转换成UNICODE文件。我在CHAR文件类型中逐个字符读取文件字符,然后将此字符保存在CHAR变量中,然后我想将此CHAR变量复制到WCHAR变量中,然后我将WCHAR变量写入UNICODE文件。

下面是代码:
#include<Windows.h>
#include<tchar.h>
int _tmain(int argc, LPCTSTR argv[])
{
    HANDLE hInfile, hOutfile;
    CHAR f1; 
    WCHAR f2;   
    DWORD Rd, Wrt; 
    INT i;
    CreateFile(argv[1], GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, NULL,NULL);
    CreateFile(argv[2], GENERIC_WRITE, FILE_SHARE_READ, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL,NULL);
    while ((ReadFile(hInfile, &f1, sizeof(CHAR), &Rd, NULL) && Rd>0)) 
    {
        **_tccpy(f2, f1);**
        WriteFile(hOutfile, &f2, Rd, &Wrt, NULL);
    }
    CloseHandle(hInfile);
    CloseHandle(hOutfile);
}

在粗体代码是问题,我怎么能复制CHAR变量到一个WCHAR变量。_tccpy函数和strcpy函数不能这样做,因为它们的原型都是char或wachar。

Microsoft Specific如果您想编写遵循Unicode编程模型的可移植代码,请使用wmain而不是main

wmain( int argc, wchar_t *argv[ ], wchar_t *envp[ ] )

wmain at ms http://msdn.microsoft.com/en-us/library/bky3b5dh(VS.80).aspx

我一直发现这些字符串基础和转换在处理c++中的Unicode时非常有用。