如何用 MultiByteToWideChar函数转换一个文件内容并将其保存,再用 WideCharToMultiByte函数读出
向明工作室 2007-04-04 05:38:36 如何用 MultiByteToWideChar函数转换一个文件内容并将其保存,再用 WideCharToMultiByte函数读出
//------------------------------------------------
TMemoryStream *tempStream=new TMemoryStream;
tempStream->LoadFromFile("exam.txt");
char *buf = new char[tempStream->Size + 1];
tempStream->Read(buf,tempStream->Size);
buf[tempStream->Size] = '\0';
wchar_t *wbuf= new wchar_t[tempStream->Size + 1];
MultiByteToWideChar(CP_ACP,NULL,buf,tempStream->Size,wbuf,tempStream->Size);
out=fopen("x.out","w");
fwrite(wbuf,tempStream->Size,1,out);
fclose(out);
//------------------------------------------------
TMemoryStream *tempStream=new TMemoryStream;
tempStream->LoadFromFile("x.out");
wchar_t *wbuf = new wchar_t[tempStream->Size + 1];
tempStream->Read(wbuf,tempStream->Size);
wbuf[tempStream->Size] = '\0';
char *buffer ;
buffer = new char[tempStream->Size + 1];
WideCharToMultiByte(CP_ACP,NULL,wbuf,tempStream->Size,buffer,tempStream->Size,NULL,NULL);
out=fopen("x.txt","w");
fwrite(wbuf,tempStream->Size,1,out);
fclose(out);
不知该程序那里用的不对,总是读不出原文件的内容,而是一堆乱码?文件里除了汉字只有一些英文字母。