线程1中的函数:
ifstream instream;
char line[100];
instream.open("a.txt",);
while(instream.getline(line,100))//得到文件的每一行,然后写入数据库中
{
...
}
线程2中的函数:
CProgressCtrl myCtrl;
我想在线程2中开启一个进度对话框用来显示写入数据库的进度情况,有那位高手赐教一下

解决方案 »

  1.   

    GetFileSize获取文件长度
    然后再累积读取的字节数然后进度再长
      

  2.   

    fstream   instream; 
    char   line[100]; 
    instream.open("a.txt",); 
    while(instream.getline(line,100))//得到文件的每一行,然后写入数据库中 

    ... 
    mydlg.sendmessage(WM_READ_PROC, i, 0);
    } WM_READ_PROC 为自定义消息。
      

  3.   

    如果我CProgressCtrl myCtrl;
        myCtrl.SetRange(0,100);
    myCtrl.SetPos(0);
    myCtrl.OffsetPos(strlen(line)/filesize);
    myCtrl.SetStep(12);
    myCtrl.StepIt();
    这样设置有什么错误啊,为什么每次运行都报错呢
      

  4.   

    filesize会等于0吗?如果会,就会出现除0错误.myCtrl是怎么创建的?
      

  5.   

    filesize等于0的话,肯定是文件到了结尾。