没什么新的内容,自己的练习代码,供大家点评。
/* Windows系统编程--实例1)复制文件*/#define UNICODE//#define _UNICODE#include#include #include #define BUF_SIZE 2int _tmain(int argc,LPTSTR argv[]){ HANDLE hFileIn, hFileOut; TCHAR nBuff[BUF_SIZE]; DWORD nIn, nOut; if(3^argc) { puts("Useage:cpWFile file1 file2 \n"); return 1; } /* CreateFile函数原型: HANDLE CreateFile(lpName, ) */ hFileIn=CreateFile(argv[1], //要打开或者要创建的文件名 GENERIC_READ, //指定是读访问、还是写访问,这里是读访问,可使用位旗标 0, //指定文件的共享模式,0不能共享 NULL, //这个参数指定文件的安全属性 OPEN_EXISTING, //这个参数表明是打开已有文件,还是创建新文件,这里打开已有文件 FILE_ATTRIBUTE_NORMAL, //设置文件的属性和标记 NULL //已打开的文件的句柄,这个参数用于将传入的文件与现在的文件具有相同的属性 ); if(hFileIn==NULL) { printf("Can not open input file:%s .Error:%x\n",argv[1],GetLastError()); return 2; } hFileOut=CreateFile(argv[2], GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL ); if(INVALID_HANDLE_VALUE==hFileOut) { printf("Can not open out file.Error:%x\n",GetLastError()); return 3; } while(ReadFile(hFileIn,nBuff,BUF_SIZE,&nIn,NULL)&& nIn>0) { WriteFile(hFileOut,nBuff,nIn,&nOut,NULL); if(nIn^nOut) { printf("Fatal Error:%x\n",GetLastError()); return 4; } } CloseHandle(hFileIn); CloseHandle(hFileOut); return 0;}