|
>コンパイラの名前は何ですか?
コンパイラの名前とは・・・・。
Cコマンドラインコンパイラでいいのでしょうか?
windowsのエクスプローラでは137KBと表示されているファイルが、
下記のソースで動かすとFileSizeHigh=4291084 FileSizeLow=-1
でFileSizeHigh * 4294967296.0 + FileSizeLow=1.84300697395616e+016
の値が戻ってくるので、ん〜私がちゃんと理解できてないからおかしい
のですよね・・・。
ソースは
void GetFSize581()
{
HANDLE hFile;
DWORD FileSizeLow, FileSizeHigh;
double size;
hFile = CreateFile(
"soushin.dat",
0,
FILE_SHARE_READ,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL);
FileSizeLow = GetFileSize(hFile, &FileSizeHigh);
sprintf(wc_message, "FileSizeHigh=%d, FileSizeLow=%d\n"
,FileSizeHigh, FileSizeLow);
MessageBox( NULL, wc_message, title, MB_OK );
size =FileSizeHigh * 4294967296.0 + FileSizeLow;
sprintf( wc_message, "ファイルサイズ:%.16g",
size);
MessageBox( NULL, wc_message, title, MB_OK );
CloseHandle(hFile);
}
というのも、FTPで送受信したbyte数をInternetSetStatusCallback
を使って送受信したバイト数(lpdwByte)を%表示に直したいのですが
そのフォルダ全てのファイルの情報は必要なかったので、GetFileSize
を使ったのですが、そもそもこれが間違いなのでしょうか?
|