CHAR ファイルを UNICODE ファイルに変換したい。CHAR ファイル タイプでファイルを 1 文字ずつ読み取り、この文字を 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 であるためです。