win32 與 C庫 複製檔案的比較

2021-08-26 14:16:32 字數 1694 閱讀 6422

win32 與 c庫 複製檔案的比較

2023年10月18日

(1)c庫複製(2)windows實現(3)windows函式呼叫

以這三者的進行複製gogolepinyininstaller.exe(谷歌拼音輸入法9.783 kb)進行測試.

(1)cpc.c

[b]#include

#include

#include

#define buf_size 256

int main (int argc, char *argv )

in_file = fopen (argv [1], "rb") ;

if (in_file == null)

out_file = fopen (argv[2], "wb") ;

if (out_file == null)

while ((bytes_in = fread (rec, 1, buf_size, in_file)) > 0)

}fclose (in_file) ;

fclose (out_file) ;

finish_t = clock () ;

printf ("%.2f seconds\n", (double)(finish_t - start_t) / clocks_per_sec) ;

return 0 ;

}(2)cpw.c

[/b][b]#include

#include

#include

#define buf_size 256

int main (int argc, lptstr argv )

hin = createfile (argv [1], generic_read, 0, null, open_existing, 0, null) ;

if (hin == invalid_handle_value)

hout = createfile (argv [2], generic_write, 0, null, create_always, file_attribute_normal, null) ;

if (hout == invalid_handle_value)

while (readfile (hin, buffer, buf_size, &nin, null) && nin > 0)

}closehandle (hin) ;

closehandle (hout) ;

finish_t = clock () ;

printf ("%.2f seconds\n", (double)(finish_t - start_t) / clocks_per_sec) ;

return 0 ;

}[/b]

(3)cpf.c

[b]#include

#include

#include

int main (int argc, lptstr argv )

if (!copyfile (argv [1], argv [2], false))

finish_t = clock () ;

printf ("%.2f seconds\n", (double)(finish_t - start_t) / clocks_per_sec) ;

return 0 ;

}[/b]

下面,輸入比較的結果

win32 與 C庫 複製檔案的比較

win32 與 c庫 複製檔案的比較 2009年10月18日 1 c庫複製 2 windows實現 3 windows函式呼叫 以這三者的進行複製gogolepinyininstaller.exe 谷歌拼音輸入法9.783 kb 進行測試.1 cpc.c b include include incl...

Win32 複製檔案

第一種方法 include stdafx.h include include define buf size 256 int tmain int argc,tchar argv hin createfile argv 1 generic read,0,null,open existing,0,nul...

C 程式呼叫win32寫的dll檔案

1 注意函式引數的呼叫方式 要跟win32的一樣,因為學習的是羅雲彬的win32彙編,採用的 stdcall方式,所以使用隱式呼叫的時候,在設定接受函式一定要宣告一樣的呼叫如 typedef int stdcall myfunc dword dword 2 在使用getprocaddress函式的時...