WriteFile

¿øÇü

BOOL WriteFile(HANDLE hFile, LPCVOID lpBuffer, DWORD nNumberOfBytesToWrite, LPDWORD lpNumberOfBytesWritten, LPOVERLAPPED lpOverlapped);

MFC ¿øÇü

ÇØ´çÇÏ´Â ÇÔ¼ö ¾øÀ½

Àμö

¢ºhFile : ±â·ÏÇÏ°íÀÚ ÇÏ´Â ÆÄÀÏÀÇ ÇÚµé. ÀÌ ÆÄÀÏÀº GENERIC_WRITE ¾×¼¼½º ±ÇÇÑÀ¸·Î ¿­¾î¾ß ÇÑ´Ù.

¢ºlpBuffer : Ãâ·ÂÇÒ µ¥ÀÌÅ͸¦ °¡Áø ¹öÆÛ

¢ºnNumberOfBytesToWrite : ±â·ÏÇÒ ¹ÙÀÌÆ® ¼ö¸¦ ÁöÁ¤ÇÑ´Ù. ÆÄÀÌÇÁ·Î ³×Æ®¿÷ Àü¼ÛÀ» ÇÒ ¶§´Â 65535¹ÙÀÌÆ®±îÁö ±â·ÏÇÒ ¼ö ÀÖ´Ù.

¢ºlpNumberOfBytesWritten : ½ÇÁ¦·Î ±â·ÏÇÑ ¹ÙÀÌÆ® ¼ö¸¦ ¸®ÅϹޱâ À§ÇÑ Ãâ·Â¿ë Àμö. WriteFileÀº È£Ãâ Áï½Ã ÀÌ °ªÀ» 0À¸·Î ¸¸µç´Ù. ºñµ¿±â ÀÔÃâ·ÂÀ» ÇÏÁö ¾ÊÀ» °æ¿ì ÀÌ Àμö´Â NULL·Î ÁÙ ¼ö ¾øÀ¸¸ç ¹Ýµå½Ã DWORDÇü º¯¼ö¿¡ ´ëÇÑ Æ÷ÀÎÅ͸¦ Á¦°øÇØ¾ß ÇÑ´Ù.

¢ºlpOverlapped : ºñµ¿±â ÀÔÃâ·ÂÀ» À§ÇÑ OVERLAPPED ±¸Á¶Ã¼ÀÇ Æ÷ÀÎÅÍ. ÆÄÀÏÀ» FILE_FLAG_OVERLAPPED Ç÷¡±×·Î ¿­¾úÀ¸¸é ÀÌ ±¸Á¶Ã¼¸¦ ¹Ýµå½Ã Á¦°øÇØ¾ß ÇÑ´Ù. ºñµ¿±â ÀÔÃâ·ÂÀ» »ç¿ëÇÏÁö ¾ÊÀ» °æ¿ì NULLÀ» ÁÖ¸é µÈ´Ù.

¸®ÅÏ

¼º°øÇϸé 0ÀÌ ¾Æ´Ñ °ªÀ» ¸®ÅÏÇÏ¸ç ½ÇÆÐÇϸé 0À» ¸®ÅÏÇÑ´Ù.

¼³¸í

ÆÄÀÏ¿¡ µ¥ÀÌÅ͸¦ ±â·ÏÇÑ´Ù. ÁÖ·Î µ¿±âÀûÀÎ Ãâ·Â¿¡ »ç¿ëÇÏÁö¸¸ OVERLAPPED ±¸Á¶Ã¼¸¦ Á¦°øÇÏ¸é ºñµ¿±â ÀÔÃâ·ÂÀ» ÇÒ ¼öµµ ÀÖ´Ù. ÆÄÀÏ Æ÷ÀÎÅÍ°¡ °¡¸®Å°°í ÀÖ´Â ÁöÁ¡¿¡ µ¥ÀÌÅ͸¦ ±â·ÏÇÏ¸ç ±â·ÏÀ» ¿Ï·áÇÑ ÈÄ ½ÇÁ¦ ±â·ÏÇÑ ¹ÙÀÌÆ®¼ö¸¸Å­ ÆÄÀÏ Æ÷ÀÎÅ͸¦ À̵¿½ÃÄÑ ÁØ´Ù. ´Ü, ºñµ¿±â ÀÔÃâ·Â ÁßÀÏ ¶§´Â ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ ÆÄÀÏ Æ÷ÀÎÅ͸¦ Á÷Á¢ À̵¿½ÃÄÑ ÁÖ¾î¾ß ÇÑ´Ù.

ÆÄÀϻӸ¸ ¾Æ´Ï¶ó ÆÄÀÌÇÁ, ¼ÒÄÏ, Åë½Å Æ÷Æ®, ÄÜ¼Ö µîÀÇ ÀåÄ¡·Îµµ µ¥ÀÌÅ͸¦ Ãâ·ÂÇÒ ¼ö ÀÖ´Ù.

¿¹Á¦ 1

´ÙÀ½ ¿¹Á¦´Â ¿¡µðÆ® ÄÁÆ®·Ñ¿¡ ÀÔ·ÂµÈ ÅؽºÆ®¸¦ ÆÄÀÏ·Î ÀúÀåÇÑ´Ù.

HWND hEdit;
LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam)
{
	HDC hdc;
	PAINTSTRUCT ps;
	HANDLE hFile;
	DWORD dwWritten;
	TCHAR Text[32000];

	switch(iMessage) {
	case WM_CREATE:
		hEdit=CreateWindow("edit",NULL,WS_CHILD | WS_VISIBLE | WS_BORDER | ES_MULTILINE,
			10,10,400,300,hWnd,(HMENU)0,g_hInst,NULL);
		return 0;
	case WM_LBUTTONDOWN:
		hFile=CreateFile("c:\\EditText.txt",GENERIC_WRITE,0,NULL,
			CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
		GetWindowText(hEdit,Text,32000);
		WriteFile(hFile,Text,lstrlen(Text),&dwWritten,NULL);
		CloseHandle(hFile);
		return 0;
	case WM_PAINT:
		hdc=BeginPaint(hWnd, &ps);
		EndPaint(hWnd, &ps);
		return 0;
	case WM_DESTROY:
		PostQuitMessage(0);
		return 0;
	}
	return(DefWindowProc(hWnd,iMessage,wParam,lParam));
}

¿¡µðÆ®ÀÇ ÅؽºÆ®¸¦ Text ¹öÆÛ¿¡ ±¸ÇÑ ÈÄ ÀÌ ¹®ÀÚ¿­ÀÇ ±æÀ̸¸Å­ hFile·Î Ãâ·ÂÇϵµ·Ï ÇÏ¿´´Ù.

Âü°íÇÔ¼ö

CreateFile, ReadFile

Ç÷§Æû

95ÀÌ»ó

ÂüÁ¶

 


written by http://www.winapi.co.kr