首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

怎么获取指针知向的值呢

2012-08-10 
如何获取指针知向的值呢?例如:TCHAR *A L1VOID XX(TCHAR *STR){DWORD Sbuf GetGlyphOutlineW( hdc,*

如何获取指针知向的值呢?
例如:
TCHAR *A = L'1'

VOID XX(TCHAR *STR)
{
  DWORD Sbuf = GetGlyphOutlineW( hdc,*STR,GGO_GRAY8_BITMAP ,&textG,0,NULL,&mt);
}

但是说我"非法寻址"呢?

DWORD GetGlyphOutline(HDC hdc, UINT uChar, UINT uFormat, LPGLYPHMETRICS lpgm, DWORD cbBuffer, LPVOID lpvBuffer, CONST MAT2 *lpmat2);

[解决办法]
L'1' 是一个字符,但是你把它付给指针,肯定是错误的。
TCHAR A = L'1';
TCHAR *A = L"1";
[解决办法]
A指向的是常量字符串指针,编译的时候应该会有类似的警告:warning: deprecated conversion from string constant to 'char*'|
而GetGlyphOutlineW需要修改该指针指向的内容,但这是错误的。
你可以自己申请一个数组如 TCHAR A[10];再传进去,应该就不会出错了。
[解决办法]
TCHAR *A = L"1";
GetGlyphOutlineW( hdc,STR[0],GGO_GRAY8_BITMAP ,&textG,0,NULL,&mt);

热点排行