简繁字体的互相转换

************************************ 简繁字体的互相转换 ***********************************
// 文件名:Simplified2Traditional.h
//
// 功能:实现繁简字体的互相转换
//
// 作者:zngsai
//
// 时间:2009.05.02
*****************************************************************************************/
/* ****************************************************************************************
//函数名:JtoF
//功能:简体到繁体的字符串转换
//参数1:sSrc[] - char型,简体字符串
//参数2:nLength - unsigned long型,简体字符串长度
//返回值:char*型,转换后的繁体字符串
****************************************************************************************
*/
char *  JtoF( char  sSrc[],unsigned  long  nLength)
{
char *  sDes  =   new   char [nLength];
LCMapString(MAKELCID(MAKELANGID(LANG_CHINESE,SUBLANG_CHINESE_SIMPLIFIED),SORT_CHINESE_PRC),
LCMAP_TRADITIONAL_CHINESE,(LPCTSTR)sSrc,nLength,sDes,nLength);
// 此API可将简体转化为繁体

return  sDes;
}
/* ****************************************************************************************
//函数名:FtoJ
//功能:繁体到简体的字符串转换
//参数1:sSrc[] - char型,繁体字符串
//参数2:nLength - unsigned long型,繁体字符串长度
//返回值:char*型,转换后的简体字符串
****************************************************************************************
*/
char *  FtoJ( char  sSrc[],unsigned  long  nLength)
{
char *  sDes  =   new   char [nLength];
LCMapString(MAKELCID(MAKELANGID(LANG_CHINESE,SUBLANG_CHINESE_SIMPLIFIED),SORT_CHINESE_PRC),
LCMAP_SIMPLIFIED_CHINESE,(LPCTSTR)sSrc,nLength,sDes,nLength);
// 此API可将繁体转化为简体

return  sDes;
}
/* ****************************************************************************************
//函数名:File_JtoF
//功能:简体到繁体的文本转换
//参数:lpszFileName - LPCTSTR型,简体字符文本
//返回值:BOOL型,返回TRUE表示转换成功,FALSE表示失败
****************************************************************************************
*/
BOOL File_JtoF(LPCTSTR lpszFileName)
{
CFile
*  pFile;
DWORD nFileaLen;
char *  pData;
pFile 
=   new  CFile;
if ( ! pFile -> Open(lpszFileName,CFile::shareDenyNone | CFile::modeReadWrite))
return  FALSE;

nFileaLen 
=  pFile -> GetLength();
pData 
=   new   char [nFileaLen];

pFile
-> SeekToBegin();
pFile
-> Read(pData,nFileaLen);

pData 
=  JtoF(pData,nFileaLen);

pFile
-> SeekToBegin();
pFile
-> Write(pData,nFileaLen);

return  TRUE;
}
/* ****************************************************************************************
//函数名:File_FtoJ
//功能:繁体到简体的文本转换
//参数:lpszFileName - LPCTSTR型,繁体字符文本
//返回值:BOOL型,返回TRUE表示转换成功,FALSE表示失败
****************************************************************************************
*/
BOOL File_FtoJ(LPCTSTR lpszFileName)
{
CFile
*  pFile;
DWORD nFileaLen;
char *  pData;
pFile 
=   new  CFile;
if ( ! pFile -> Open(lpszFileName,CFile::shareDenyNone | CFile::modeReadWrite))
return  FALSE;

nFileaLen 
=  pFile -> GetLength();
pData 
=   new   char [nFileaLen];

pFile
-> SeekToBegin();
pFile
-> Read(pData,nFileaLen);

pData 
=  FtoJ(pData,nFileaLen);

pFile
-> SeekToBegin();
pFile
-> Write(pData,nFileaLen);

return  TRUE;


你可能感兴趣的:(转换)