vc++里循环语句只指执行了最后一次

代码如下,准备读十个数,目标是每读一个数就用GetDlgItem(IDC_DATABACK)->SetWindowText(str2) 把每次的读数显示到IDC_DATABACK的静态文本框里。但程序运行的结果是读取的过程中不显示数,读完十个数之后才把最后一个显示出来。可我的语句明明是在循环里面啊,为什么只执行了一次。str2的数据读取没有问题。
int i=0;
for(i=0;i {
//VisaRead
status=viWrite(instr,(unsigned char*)"READ?",6,&recount);
char str2[40];
memset(str2,0,sizeof(str2));
status=viRead(instr,(unsigned char*)str2,15,&recount);
GetDlgItem(IDC_DATABACK)->SetWindowText(str2);
}

for(i=0;i<10;i++)那段没有问题,是误删了一些。

GetDlgItem(IDC_DATABACK)->SetWindowText(str2); 你这个会把之前的输入覆盖掉的吧,整个循环太快所以就只显示最后一次了,你看不见过程的吧,不然你打印日志看看

在for循环中加上updatedata(false)试试

GetDlgItem(IDC_DATABACK)->SetWindowText(str2);

这个当然是最后一次了。。如果要显示全部推荐使用listbox控件。。。