我用的是VS2008; 编译通过了,我是初学者,不知道哪里有问题
int i,j,k;
char *q="我";
unsigned char qh,wh;
unsigned long offset;
qh=*q-0xa0;
wh=*(q+1)-0xa0;
offset=(94*(qh-1)+(wh-1))*32;
FILE *fp;
if (fopen_s(&fp,"hzk", "rb") == NULL)
{
MessageBox(_T("Can not find file 'HZK16'"), _T("Error"));
return;
}
CString m_sfront=_T("1");
CString m_sback=_T("0");
char buffer[16][2];
fseek(fp,offset,SEEK_SET);
fread(buffer,32,1,fp);
for (i=0;i<16;i++)
{
for(j=0;j<2;j++)
for(k=0;k<8;k++)
if (buffer[i][j]&(0xa8>>k))
m_sout+=m_sfront;
else
m_sout+=m_sback;
}
m_sout是输出编辑框成员变量运行时报错,不知道
Expression:(stream!=NULL)
int i,j,k;
char *q="我";
unsigned char qh,wh;
unsigned long offset;
qh=*q-0xa0;
wh=*(q+1)-0xa0;
offset=(94*(qh-1)+(wh-1))*32;
FILE *fp;
if (fopen_s(&fp,"hzk", "rb") == NULL)
{
MessageBox(_T("Can not find file 'HZK16'"), _T("Error"));
return;
}
CString m_sfront=_T("1");
CString m_sback=_T("0");
char buffer[16][2];
fseek(fp,offset,SEEK_SET);
fread(buffer,32,1,fp);
for (i=0;i<16;i++)
{
for(j=0;j<2;j++)
for(k=0;k<8;k++)
if (buffer[i][j]&(0xa8>>k))
m_sout+=m_sfront;
else
m_sout+=m_sback;
}
m_sout是输出编辑框成员变量运行时报错,不知道
Expression:(stream!=NULL)
CString m_sin转换成char *S,我试了强制转换
char *s;
s=LPTSTR(m_sin);
还有 LPTSTR *s=m_sin.GetBuffer();
m_sin.ReleaseBuffer();
都编译错误,怎么办,请教下
然后sprintf(S,m_sin);
(LPSTR)(LPCTSTR) s ;
(LPSTR) s ;String GetBuffer() 出错?
本来返回类型就是你写的内容,还有你似乎对指针还不是很熟悉
原先用的是
s = (LPTSTR)(LPCTSTR)m_sin;通不过
当我直接赋值
char *s=“xxxxxx”;
通过可以运行
CString str = L"中国";
CHAR szText[32] = { 0};
WideCharToMultiByte(CP_ACP, WC_COMPOSITECHECK, str, str.GetLength(), szText, 32, NULL, NULL);
解决了
谢谢各位!
谢谢啦!