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