1

我想将 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。

4

2 回答 2

4

如果您想编写符合 Unicode 编程模型的可移植代码,则wmain使用Microsoft 特定用途。main

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

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

于 2012-01-12T16:47:54.250 回答
1

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

于 2011-04-16T07:04:32.787 回答