用WindowsAPI实现文件复制功能
1. c代码
注释也在里面
文件名为 copyfile.c 运行出来的exe为 copyfile.exe
#include
#include
#define BUF_SIZE 256
int main (int argc, LPTSTR argv [])
{
//LPTSTR类型 与char*等价,表示普通字符/字符串变量,指向字符/字符串的指针。
HANDLE handleIn, handleOut;//句柄(HANDLE)是资源的标识,操作系统要管理和操作这些资源,都是通过句柄来找到对应的资源
//HANDLE 是一个32位的无符号整数,是一个对象的句柄,可以认为存放的是一个对象的地址
//printf("%d", handleIn);
DWORD readsizeIn, readsizeOut;
//#define DWORD unsigned long 所以比较方便移植用的 ,Windows下经常用来保存地址(或者存放指针)
CHAR Buffer [BUF_SIZE]; //大写的CHAR也表示 CHAR为单字节字符 Windows为了消除各编译器的差别,重新定义了一些数据类型
//argc,argv 用命令行编译程序时有用
//argc: 整数,用来统计你运行程序时送给main函数的命令行参数的个数
//* argv[ ]: 指针数组,用来存放指向你的字符串参数的指针,每一个元素指向一个参数
//如果传入的参数不等于3的话 说明用户没有输入正常的参数(参数多了或者少了)
//此时提示用户正确的输入参数方法,并且退出程序
if (a