我想將CHAR文件轉換爲UNICODE文件。 我在CHAR文件類型中按字符讀取文件字符,然後將此字符保存在CHAR變量中,然後我想將此CHAR變量複製到WCHAR變量,然後將WCHAR變量寫入UNICODE文件。如何將CHAR變量複製到C++的WCHAR變量中
這裏是代碼:
#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。
爲什麼你是在讀值作爲首位'CHAR' wmain? – 2011-04-16 06:47:46
我該怎麼辦? – Behzad 2011-04-16 06:50:19
更好的選擇是將變量定義爲TCHAR類型,然後以正確的格式從數據文件中讀取值作爲開頭。 'TCHAR'是'windows.h'定義的'#',它是ANSI或Unicode的正確變體,具體取決於您的構建設置。 – 2011-04-16 07:08:18