我在文件上传(复制)程序中,要显示上传或复制的百分比。我这样做的:
int nPos = (nTotalRead*100)/m_dwFileLength;
其中nPos表示完成百分比,nTotalRead是已经读取的字节数,m_dwFileLength表示文件总长度。nTotalRead,m_dwFileLength均为DWORD类型。
在对于小的文件是没有问题的。但我试了一个大约80M的文件,但完成到百分之五十几时,也就是读取了大约50多M时,nPos又变成了0,我调试了一下,发现这时nTotalRead*100的值不是我们计算应该得到的值。我在想可能是nTotalRead*100超出了数据类型所能表示的范围。大家帮帮忙。该如何办?什么类型的变量可以存放大数据,如一个100M的文件的字节数。谢谢了!