.


:




:

































 

 

 

 


Windows




1.2 , Windows API, , , , .

1.2. cpW: Windows,

/* 1. cp. , Windows. */

/* cpW 1 2: 1 2. */

#include <windows.h>

#include <stdio.h>

#define BUF_SIZE 256

 

int main (int argc, LPTSTR argv []) {

HANDLE hIn, hOut;

DWORD nIn, nOut;

CHAR Buffer [BUF_SIZE];

if (argc!= 3) {

printf (": cpW 1 2\n");

return 1;

}

hIn = CreateFile(argv [1], GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, NULL);

if (hIn == INVALID_HANDLE_VALUE) {

printf(" . : %\n", GetLastError());

return 2;

}

hOut = CreateFile(argv[2], GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);

if (hOut == INVALID_HANDLE_VALUE) {

printf(" . : %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 (" : %x\n", GetLastError());

return 4;

}

}

CloseHandle(hIn);

CloseHandle(hOut);

return 0;

}

Windows, 2.

1. <windows.h>, Windows.[10]

2. Windows Handle, CloseHandle.

3. , , . , , , - , . (. , .)

4. Windows . , . INVALID_HANDLE_VALUE GENERIC_READ.

5. ReadFile WriteFile , , . .[11] .

6. GetLastError , DWORD. 1.2 , Windows .

7. Windows NT , 15. .

8. , CreateFile, , .





:


: 2015-09-20; !; : 604 |


:

:

,
==> ...

788 - | 787 -


© 2015-2024 lektsii.org - -

: 0.012 .