ÃÑ ÆäÀÌÁö ¼ö : 3224
![]()
|
Facebook Joinc ±×·ì
Joinc QA »çÀÌÆ®
![]()
Tweet
joinc´Â Firefox¿Í chrome¿¡¼ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù. WriteFile
Ư¼ö ÆÄÀÏ È¤Àº ÀÔÃâ·Â ÀåÄ¡¿¡ µ¥ÀÌÅ͸¦ ¾´´Ù.
ÀÌ ÇÔ¼ö´Â µ¿±â,ºñµ¿±â ¸ðµÎ¿¡ ¾µ ¼ö ÀÖ´Ù. ÀÌ¿Í ºñ½ÁÇÑ ÇÔ¼ö·Î ºñµ¿±â¿¡¸¸ »ç¿ëÇÒ ¼ö ÀÖ´Â WriteFileExÇÔ¼ö°¡ ÀÖ´Ù. »ç¿ë ¹ýBOOL WINAPI WriteFile( __in HANDLE hFile, __in LPCVOID lpBuffer, __in DWORD nNumberOfBytesToWrite, __out_opt LPDWORD lpNumberOfBytesWritten, __inout_opt LPOVERLAPPED lpOverlapped ); ¸Å°³ º¯¼ö
¹Ýȯ °ª
¼º°øÇß´Ù¸é TRUE¸¦ ¹ÝȯÇÑ´Ù.
ºñµ¿±â ÀÔÃâ·ÁÀ̰ųª ÇÔ¼ö°¡ ½ÇÆÐÇß´Ù¸é 0 (FALSE)À» ¹ÝȯÇÑ´Ù. ÀÚ¼¼ÇÑ ¿¡·¯ ÄÚµå´Â GetLastErrorÇÔ¼öÀÇ ¹Ýȯ °ªÀ» °Ë»çÇÑ´Ù.
GetLastError Äڵ尡 ERROR_IO_PENDINGÀ̸é ÇÔ¼ö ½ÇÆÐ°¡ ¾Æ´Ï´Ù. ÀÌ´Â ºñµ¿±â ÀÔÃâ·Â¿¡ ÀÇÇÑ ¹ÝȯÀ» ÀǹÌÇÑ´Ù. ¿¹Á¦
ÆÄÀÏ º¹»ç ÇÁ·Î±×·¥. source fileÀ» dest file·Î º¹»çÇÑ´Ù.
#include <windows.h> #include <stdio.h> #define MAX_LINE 1024 int main(int argc, char **argv) { char buf[MAX_LINE]; HANDLE source_fh,dest_fh; int readn, writen; if (argc != 3) { printf("Usge : %s [source file] [dest file]\n", argv[0]); return 0; } source_fh= CreateFile( argv[1], GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL ); if(source_fh == INVALID_HANDLE_VALUE) { printf("FILE Open Error %d\n", GetLastError); return 1; } dest_fh = CreateFile( argv[2], GENERIC_WRITE, 0, NULL, CREATE_NEW, FILE_ATTRIBUTE_NORMAL, NULL ); if (dest_fh == INVALID_HANDLE_VALUE) { if (GetLastError() == ERROR_FILE_EXISTS) printf("Dest File Already exists\n"); else printf("Dest File Open Error\n"); return 1; } while(1) { memset(buf, 0x00, MAX_LINE); ReadFile(source_fh, buf, MAX_LINE-1, &readn, NULL); if(readn <= 0) break; WriteFile(dest_fh, buf, readn, &writen, NULL); printf("%d\n", writen); } return 0; } ÅÂ±× : À©µµ ½Ã½ºÅÛ ÇÁ·Î±×·¡¹Ö
ÆÄÀÏ
|
|
|
EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù. |
|