win32 与 C库 复制文件的比较
2009年10月18日
(1)C库复制(2)windows实现(3)windows函数调用
以这三者的进行复制gogolepinyininstaller.exe(谷歌拼音输入法9.783 KB)进行测试.
(1)cpC.c
#include
#include
#include
#define BUF_SIZE 256
int main (int argc, char *argv []) {
clock_t start_t, finish_t ;
FILE *in_file, *out_file ;
char rec [BUF_SIZE] ;
size_t bytes_in, bytes_out ;
start_t = clock () ;
if (argc != 3) {
printf ("Usage: cpC file1 file2\n") ;
return 1 ;
}
in_file = fopen (argv [1], "rb") ;
if (in_file == NULL) {
perror (argv [1]) ;
return 2 ;
}
out_file = fopen (argv[2], "wb") ;
if (out_file == NULL) {
perror (argv [2]) ;
return 3 ;
}
while ((bytes_in = fread (rec, 1, BUF_SIZE, in_file)) > 0) {
bytes_out = fwrite (rec, 1, bytes_in, out_file) ;
if (bytes_out != bytes_in) {
perror ("Fatal write error.") ;
return 4 ;
}
}
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
#include
#include
#include
#define BUF_SIZE 256
int main (int argc, LPTSTR argv []) {
clock_t start_t, finish_t ;
HANDLE hIn, hOut ;
DWORD nIn, nOut ;
CHAR Buffer [BUF_SIZE] ;
start_t = clock() ;
if (argc != 3) {
printf ("Usage: cpW file1 file2\n") ;
return 1 ;
}
hIn = CreateFile (argv [1], GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, NULL) ;
if (hIn == INVALID_HANDLE_VALUE) {
printf ("Cannot open input file. Error: %x\n", GetLastError ()) ;
return 2 ;
}
hOut = CreateFile (argv [2], GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL) ;
if (hOut == INVALID_HANDLE_VALUE) {
printf ("Cannot open output file. Error: %x\n", GetLastError ()) ;
return 3 ;
}
while (ReadFile (hIn, Buffer, BUF_SIZE, &nIn, NULL) && nIn > 0) {
WriteFile (hOut, Buffer, nIn, &nOut, NULL) ;
if (nIn != nOut) {
printf ("Fatal write error: %x\n", GetLastError ()) ;
return 4 ;
}
}
CloseHandle (hIn) ;
CloseHandle (hOut) ;
finish_t = clock () ;
printf ("%.2f seconds\n", (double)(finish_t - start_t) / CLOCKS_PER_SEC) ;
return 0 ;
}
(3)cpF.c
#include
#include
#include
int main (int argc, LPTSTR argv []) {
clock_t start_t, finish_t ;
start_t = clock () ;
if (argc != 3) {
printf ("Usage: cpF file1 file2\n") ;
return 1 ;
}
if (!CopyFile (argv [1], argv [2], FALSE)) {
printf ("CopyFile Error: %x\n", GetLastError ()) ;
return 2 ;
}
finish_t = clock () ;
printf ("%.2f seconds\n", (double)(finish_t - start_t) / CLOCKS_PER_SEC) ;
return 0 ;
}
下面,输入比较的结果
发表评论
-
Flex 导出文件通用处理
2012-01-20 01:22 891Flex 导出文件通用处理 2010年07月10日 ... -
加快RIA开发效率之Flex插件
2012-01-20 01:21 523加快RIA开发效率之Flex插 ... -
用flex库资源的理由
2012-01-20 01:21 592用flex库资源的理由 2010年12月23日 Adob ... -
Ant Flex project 应用
2012-01-20 01:21 581Ant Flex project 应用 2010年11月08 ... -
IDEA + Eclipse 开发 Maven Flex 项目的简单流程和要点
2012-01-20 01:21 1060IDEA + Eclipse 开发 Maven Fle ... -
成人笑话大全第019篇
2012-01-19 09:12 677成人笑话大全第019篇 20 ... -
高中生自我评语 高中毕业生自我鉴定
2012-01-19 09:12 632高中生自我评语 高 ... -
演讲稿大全
2012-01-19 09:12 547演讲稿大全 2010年11月17日 演讲稿大全 ?? ... -
三年级如何写作文
2012-01-19 09:12 536三年级如何写作文 2011年10月27日 三年级如何写 ... -
C#和ASP.Net面试题目集锦
2012-01-17 01:41 1551C#和ASP.Net面试题目集锦 ... -
linux apache配置(续)
2012-01-17 01:40 699linux apache配置(续) 2011 ... -
操作系统
2012-01-17 01:40 703操作系统 2012年01月04日 ... -
Linux启动过程综述
2012-01-17 01:40 585Linux启动过程综述 2011 ... -
C# 路径,文件,目录,IO常见问题汇总 - wxbjs - 博客园
2012-01-17 01:40 747C# 路径,文件,目录,IO常 ... -
初探Linux kernel之喝凉水系列二
2012-01-15 20:55 544初探Linux kernel之喝凉水系列二 2011年03月 ... -
D200的库设置
2012-01-15 20:55 562D200的库设置 2010年07月2 ... -
c库函数和系统调用的区别(很模糊)
2012-01-15 20:55 588c库函数和系统调用的区 ... -
linux C库函数(一)
2012-01-15 20:55 546linux C库函数(一) 2010年0 ...
相关推荐
全部游戏代码都在.c文件,编译即可,windows xp ,VS2010 WIN32下,C编译通过 不想下载代码的同学,可以直接到博客复制代码,放入VS2010 WIN32工程即可:...
win7右键添加“复制文件(夹)名称 路径” 不会出现什么找不到dll的错误, 没有dos窗口。 堪称完美级别。我在网上找到别人的,不好用,要么还要安装个什么软件来设置。 于是自己动手吧,虽然只有简单几行代码,不过用...
将mdmcpq.inf复制到c:\windows\inf 将usbser.sys复制到c:\windows\system32\driver 解决提示INF中的服务安装段落无效的问题
然后复制XP版本的winhlp32.exe 到C:\Windows\ ----------------------------- 无法删除或改名的问题 调整权限,将Win10的winhlp32.exe 所有者改为当前登录用户,并设置权限为完全控制。 -------------------------...
这个是没有使用edit控件win32编程实现记事本的程序,实现了打开文件,保存文件,复制 ,粘贴,剪切的一些基本功能,不过也还不是很完善,适合初学者。
1. 使用老毛桃PE进入计算机,格式话C盘,把ISO文件复制到其他盘(例如d:),使用老毛桃的UltralSO提取文件到d:Win; 2. 把提取出来的 bootmgr文件、boot文件复制到C盘,Sources中的Boot.vim文件放入C盘新建的Sources...
将php_ffmpeg.dll复制到你所安装的php所在目录下的ext(php扩展目录)下,并将其它的四个文件复制到系统目录下的system32 目录中(一般在c:\window\system32) 3、修改php配置文件php.ini(这个文件根据你php实际安装...
8d233c3f165c73d783fa264d16aece35188be7679be466471ec7ab4979b74c36 *electron-v8.2.0-win32-x64.zip 复制以上编码内容到文件:SHASUMS256.txt-8.2.0 即可使用 ----------------------------------- 下载后放于...
系统文件,需要放在system32文件夹下,然后 开始-运行-regsvr32 xerces-c_2_8.dll
3、Windows XP/WIN7/win10系统(64位系统对应64位dll文件,32位系统对应32位dll文件),将oo2core_6_win64.dll复制到C:\Windows\System32目录下。 4、如果您的系统是64位的请将32位的dll文件复制到C:\Windows\SysWOW64...
win10安装git报错 fatal:open /dev/null or dup failed: No such file or directory错误,将该文件复制到C:\Windows\System32\drivers下并覆盖即可
下载资源包后,解压,把 pscp.exe 文件复制到 C:\Windows\System32 常用 cmd 命令: 1)向 linux 发送指定目录及目录下所有文件 pscp -P 22 -r -pw root#@123 C:\Release\home\XXX root@192.168.1.30:/home 注:...
d685a16bd5559355f928b1d3a389c89eca88f859510750f86299ec2688606895 *electron-v11.2.1-win32-x64.zip 复制以上编码内容到文件:SHASUMS256.txt-11.2.1 即可使用 ———————————— 下载后放于对应目录 ...
WIN-TC免费版是一个turbo C2 WINDOWS平台开发工具,最大特点是支持中文界面,支持鼠标操作,程序段复制,WIN-TC免费版为初学c语言、对高等编程环境不熟悉的同志们非常有帮助。 WIN-TC免费版使用turbo C2为内核,提供...
WIN7的家庭普通版是没有组策略...3、将Windows 7版的“WINDOWS\INF”文件夹中的所有*.adm文件复制替换到HOME版的“C:\WINDOWS\INF”文件夹中。 4、最后单击“开始--运行”,输入“gpedit.msc”应该便可以启动组策略了。
3、Windows XP/WIN7系统,将msvcrtd.dll复制到C:WindowsSystem32目录下。 三、然后打开"开始-运行-输入regsvr32 msvcrtd.dll",回车即可解决错误提示!希望多特软件站为您提供的msvcrtd.dll对您有所帮助!
所以用win32asm做了个示例,同时也在Vc中做了测试,都是一样简单。本来想在VB中也试试的,但发现没那么简单,当我将整个数 组定义为VB格式的数组时VB竟然崩溃了···,可能是因为VB编程环境容不下这么多的数据,...
缺少libcrypto-1_1-x64.dll,原因好像是盗版window系统有可能没有这个库...3、Windows XP/WIN7/win10系统(64位系统对应64位dll文件,32位系统对应32位dll文件),将libcrypto-1_1.dll复制到C:\Windows\System32目录下。
1.将“补丁文件”文件夹中的“CardGames.dll”文件放到“C:\Windows\System32”文件夹下。 2.把“游戏文件”文件夹里的“Microsoft Games”文件夹复制到“C:\Program Files”文件夹下。 3.安装“补丁文件”文件夹...