关于VC一个非常菜的问题,请大哥们帮我修改一下

来源:百度知道 编辑:UC知道 时间:2024/06/05 02:23:56
//读部分:
Sleep(100);
CString m_disp;
char str[10];
memset(str,'\0',10);
DWORD wCount=10;//读取的字节数
BOOL bReadStat;
bReadStat=ReadFile(hCom,str,wCount,&wCount,NULL);
if(!bReadStat)
return 0;
PurgeComm(hCom, PURGE_TXABORT|
PURGE_RXABORT|PURGE_TXCLEAR|PURGE_RXCLEAR);
if (wCount)
{
// MessageBox(NULL, L"串口有数据", L"系统提示", FALSE);
m_disp(str,wCount);
MessageBox(NULL, L("有数据"), L"系统提示", FALSE);
}
return wCount;
提示错误:.\mailbox.cpp(140) : error C2064: term does not evaluate to a function taking 2 arguments
.\mailbox.cpp(141) : error C3861: 'L': identifier not found
m_disp应该怎么定义,MessageBox怎么显示出m_disp数据
请问一下我该如何显示str[100]数组中的数据呢,wCount是动态的数组长度,m_disp这个变量该定义成什么类型?m_disp(str,wCount);我这样肯定是错的。

对于 MessageBox(NULL, L("有数据"), L"系统提示", FALSE);
如果是用6.0或2008可以这样用 :

MessageBox(_T("有数据"), //要显示的数据
_T("系统提示"), //消息框标题
MB_OK //类型,可以参见MSDN
);

程序第140行的函数处理了两个参数 函数参数的问题 检查函数的定义
L是宽字符串的意思 这里不要用 最好用TEXT宏 比如TEXT("有数据") 那个FALSE换成0行了 要不好难看 还难理解
你的m_disp是个CString类型的变量 下面就m_disp(str,wCount);变成这个样了 很令人费解啊

应该是long?