- Код: Выделить всё
Private Function MK7(sFilename As String) As String
Dim s As Currency
Dim sum As Currency
Dim btArray() As Byte
i = -1
s = 0
sum = 0
If Mid(sFilename, 2, 2) = ":\" Then
Open sFilename For Binary As #1
ReDim btArray(LOF(1) - 1)
Get #1, , btArray
Close #1
Do Until i = UBound(btArray)
DoEvents
i = i + 1
s = btArray(i) / (i + 1)
sum = sum + s
Loop
End If
MK7 = sum
End Function
А вот тот же самый код но на VC, написанный Ariman'ом
- Код: Выделить всё
double __stdcall MK7(char *FileName)
{
double s=0,sum=0;
unsigned char *buffer;
unsigned long Len;
ifstream File(FileName);
File.seekg(0,ios::end);
Len=File.tellg();
File.seekg(0,ios::beg);
buffer=new unsigned char[Len];
File.read(buffer,Len);
File.close();
for(unsigned i=0;i<Len;i++)
{
s=(double)(buffer[i])/(i+1);
sum+=s;
}d
return sum;
}
Как не странно, они выдают разные значения!
П о ч е м у