这个负数是怎么来的?
下载一个文件的时候,想让它边下载边显示一个进度.即下载了百分之多少.
我在接收的Socket接收到文件后,让它与总文件长度进行比较,然后设置Edit的显示值.
但是显示的时候不是从0%到100%.最大只到了30多点,然后就变成负的,-30左右,然后一直减到0,再增加到30左右,然后完毕..
long igDownLoadTotalFileLens; //总共需要下载的文件总长度
long igHaveDownFileLens; //当前已经下载的文件长度
long igFileDownBiLi; //下载的文件占总的百分比
char strFileDownBiLi[255];; //文件下载百分比
下面是显示的几步..
igFileDownBiLi = igHaveDownFileLens*100/igDownLoadTotalFileLens; //已下载文件比例
itoa(igFileDownBiLi, strFileDownBiLi, 10);
strcat(strFileDownBiLi,"%");
m_tempDlg->GetDlgItem(IDC_EDITSTATUS)->SetWindowText(strFileDownBiLi);
比如文件是64M,跟的时候下载文件长度到总文件长度3分之1左右的时候,strFileDownBiLi就会第一位成负号了.
这个是因为什么呢?