当前位置:C++技术网 > 资讯 > win32通用函数总结:6 OemToChar,OemToCharBuff

win32通用函数总结:6 OemToChar,OemToCharBuff

更新时间:2015-12-23 21:04:20浏览次数:1+次

BOOL OemToChar(LPCSTR lpszSrc,LPTSTR lpszDst);
参数解释:lpszSrc是以空为结尾的const字符串,lpszDst是以空为结尾的char字符串,用于接收转换结果的OEM字串
返回值:总是返回非零,如果lpszDst和lpszSrc同指一个地址,那么函数返回零。
函数作用:将一个字符串从OEM字符集转换到ANSI字符集
注意:lpszDst的长度大小不能小于lpszDst字符串的大小,否则会数组越界,不要忘记结束符。lpszDst记得初始化,记住lpszDst是以空为结束符的,没有初始化会导致如果赋值长度少于10,后面的值可能是乱码。
代码例子:
#include <Windows.h>
#include <tchar.h>
int main()
{
const char *lpszSrc = "C++技术网";
TCHAR lpszDst[10] = _T("");
OemToChar(lpszSrc,lpszDst);
MessageBox(NULL, lpszDst, _T(""), MB_OK);//显示C++技术网
return 0;
}
BOOL OemToCharBuff(LPCTSTR lpszSrc,LPTSTR lpszDst,DWORD cchDstLength);
参数解释:lpszSrc是以空为结尾的const字符串,lpszDst是以空为结尾的char字符串,用于接收转换结果的OEM字串,cchDstLength是指字串lpszSrc中想转换的字符数量
返回值:总是返回非零,如果lpszDst和lpszSrc同指一个地址,那么函数返回零。
函数作用:将一个字符串从OEM字符集转换到ANSI字符集。CharToOemBuff允许我们指定字串中需转换的字符数量
注意:cchDstLength不能大于等于lpszDst字符串的大小,否则会数组越界,不要忘记结束符。lpszDst记得初始化,记住lpszDst是以空为结束符的,没有初始化会导致如果赋值长度少于10,后面的值可能是乱码。
代码例子:
#include <Windows.h>
#include <tchar.h>
int main()
{
char *lpszSrc = "C++技术网";
TCHAR lpszDst[10] = _T("");
DWORD cchDstLength = 10;
OemToCharBuff(lpszSrc, lpszDst, cchDstLength);
MessageBox(NULL, lpszDst, _T(""), MB_OK);//显示C++技术网
return 0;
}
可能有些地方描叙不准确或者理解有错误的地方,希望大家能提出来,我会好好改进的。