ÃÑ ÆäÀÌÁö ¼ö : 3224
![]()
|
Facebook Joinc ±×·ì
Joinc QA »çÀÌÆ®
![]()
Tweet
joinc´Â Firefox¿Í chrome¿¡¼ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù. ReadFile
Ư¼ö ÆÄÀÏ È¤Àº ÀÔÃâ·Â ÀåÄ¡·Î ºÎÅÍ µ¥ÀÌÅ͸¦ Àд´Ù.
ÀÌ ÇÔ¼ö´Â µ¿±â, ºñµ¿±â ¸ðµÎ¿¡ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ºñµ¿±â·Î¸¸ »ç¿ëÇÒ ¼ö ¾Æ¾¾´Â ÇÔ¼ö·Î ReadFileExÇÔ¼ö°¡ ÀÖ´Ù. »ç¿ë¹ýBOOL WINAPI ReadFile( __in HANDLE hFile, __out LPVOID lpBuffer, __in DWORD nNumberOfBytesToRead, __out_opt LPDWORD lpNumberOfBytesRead, __inout_opt LPOVERLAPPED lpOverlapped ); ¸Å°³ º¯¼ö
¹Ýȯ °ª
¼º°øÇϸé 0ÀÌ ¾Æ´Ñ °ªÀ» ¸®ÅÏÇÑ´Ù.
ÇÔ¼ö°¡ ½ÇÆÐÇÒ¶§ ȤÀº ºñµ¿±â ÀÔÃâ·ÂÀ» ¿Ï·áÇßÀ» ¶§µµ 0À» ¹ÝȯÇÑ´Ù. ÀÚ¼¼ÇÑ ¿¡·¯ °ªÀº GetLastErrorÇÔ¼ö·Î È®ÀÎ ÇÒ ¼ö ¾Æ¾¾´Ù.
GetLastError Äڵ尡 ERROR_IO_PENDINGÀ̸é, ½ÇÆÐ°¡ ¾Æ´Ï´Ù. À̰ÍÀº ºñµ¿±â ÀÔÃâ·ÂÀÌ ¿Ï·áµÇ¾úÀ½À» ÀǹÌÇÑ´Ù. »ó¼¼ ¼³¸í
ReadFileÇÔ¼ö´Â ¾Æ·¡ÀÇ ÀÌÀ¯·Î ¹ÝȯÇÑ´Ù.
¿¹Á¦
ÇÁ·Î±×·¥ ½ÇÇàÀÎÀÚ·Î ÁÖ¾îÁø ÆÄÀϸíÀ» ¿¾î¼ ³»¿ëÀ» Ãâ·ÂÇÑ´Ù.
001 #include <stdio.h> 002 #include <windows.h> 003 004 #define MAX_LINE 1024 005 int main(int argc, char **argv) 006 { 007 HANDLE fp; 008 DWORD readn; 009 BOOL brtv; 010 char buf[MAX_LINE]; 011 012 if (argc != 2) 013 { 014 printf("Usage : %s [file]\n", argv[0]); 015 return 1; 016 } 017 018 fp = CreateFile( 019 (LPCTSTR)argv[1], 020 GENERIC_READ, 021 0, 022 NULL, 023 OPEN_EXISTING, 024 FILE_ATTRIBUTE_NORMAL, 025 NULL); 026 if (fp == INVALID_HANDLE_VALUE) 027 { 028 printf("File 1 Open Error (%d) : %s\n", GetLastError(), argv[1]); 029 return 1; 030 } 031 032 while(1) 033 { 034 memset((void *)buf, 0x00, MAX_LINE); 035 brtv = ReadFile(fp,buf, MAX_LINE-1, &readn, NULL); 036 if(brtv && readn == 0) 037 { 038 break; 039 } 040 printf("%s", buf); 041 } 042 return 1; 043 } 044 ÅÂ±× : À©µµ ½Ã½ºÅÛ ÇÁ·Î±×·¡¹Ö
ÆÄÀÏ
|
|
|
EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù. |
|