VC++循环基础问题
unsigned char *p,i,tmp1[100],tmp2[100];
for(i=0;i<300;i++){
nRet=SerRecv(atol((const char *)p),tmp1,850);
//pedt->SetWindowText((const char *)tmp1);
}
pedt->SetWindowText((const char *)tmp1);
我这里要循环调用SerRecv函数多次,然后把多次调用这个函数得到的tmp1值一起显示在文本框怎么处理?
[解决办法]
循环调用SerRecv函数多次, 这倒也没什么大的关系
首先要确定函数内部的实现,其次是参数的传递。
问题是SetWindowText函数在循环里被调用,程序运行完后,你只能看到到for循环最后一次的值了。
“然后把多次调用这个函数得到的tmp1值一起显示在文本框怎么处理?”
不知道你的业务逻辑是什么需求,所以按照字面的理解:
1,可不可以换个控件?
2,可不可以在for循环里把tmp1值存储到临时变量里,最后一起用文本框以多行方式显示。
[解决办法]
CString str;
TCHAR *p,i,tmp1[100],tmp2[100];
for(i=0;i<300;i++){
nRet=SerRecv(atol((const char *)p),tmp1,850);
str.Append(tmp1);
//pedt->SetWindowText((const char *)tmp1);
}
CString str;
TCHAR *p,i,tmp1[100],tmp2[100];
for(i=0;i<300;i++)
{
nRet=SerRecv(atol((const char *)p),tmp1,850);
temp1[nRet]='\0';
str.Append(tmp1);
}