Computer/C, CPP, MFC

ReadFile()

๊ฐ„๋‹จ์ •๋ฆฌ RedFile(ํŒŒ์ผํ•ธ๋“ค, ์ €์žฅ๋ฒ„ํผ ํฌ์ธํ„ฐ, ์ฝ์–ด์˜ค๋Š” ๋ฐ”์ดํŠธ์ˆ˜,์ถœ๋ ฅ์šฉ์ธ์ˆ˜, ๋น„๋™๊ธฐ์•„๋‹ˆ๋ฉด NULL) ReadFile() ํŒŒ์ผ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์–ด์˜ด. ๋™๊ธฐ, ๋น„๋™๊ธฐ ๋ชจ๋‘ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•จ. ์›ํ˜• BOOL ReadFile( HANDLE hFile, LPVOID lpBuffer, DWORD nNumberOfBytesToRead, LPDWORD lpNumberOfBytesRead, LPOVERLAPPED lpOverlapped ); - HANDLE hFile: ์ฝ๊ณ ์ž ํ•˜๋Š” ํŒŒ์ผ์˜ ํ•ธ๋“ค. ์ด ํŒŒ์ผ์€ GENERIC_READ ์•ก์„ธ์Šค ๊ถŒํ•œ์œผ๋กœ ์—ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. - LPVOID lpBuffer: ์ฝ์–ด ์˜ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  ๋ฒ„ํผ์˜ ํฌ์ธํ„ฐ ์ž…๋‹ˆ๋‹ค. - DWORD nNumberOfBytesToRead: ์‹ค์ œ ์ฝ์–ด์˜ค๋Š” ๋ฐ”์ดํŠธ ์ˆ˜๋ฅผ ์ง€..

ReadFile()

Computer/C, CPP, MFC

SetFilePointer()

๊ฐ„๋‹จ์ •๋ณดSetFilePointer(๋Œ€์ƒ ํŒŒ์ผ์˜ ํ•ธ๋“ค, ์˜ฎ๊ธธ ์œ„์น˜, NULL, ์‹œ์ž‘์œ„์น˜)ํŒŒ์ผ์„ ์ฒ˜์Œ ์—ด์—ˆ์„๋•Œ, ํฌ์ธํ„ฐ์˜ ์œ„์น˜๋Š” ํŒŒ์ผ์˜ ์ฒ˜์Œ, IO ์ฒ˜๋ฆฌ์— ๋”ฐ๋ผ ํŒŒ์ผํฌ์ธํ„ฐ๊ฐ€ ์ž๋™์œผ๋กœ ์ด๋™. SetFilePointer()ํŒŒ์ผ ํฌ์ธํ„ฐ๋ฅผ ์›ํ•˜๋Š” ์œ„์น˜๋กœ ์˜ฎ๊ธธ๋•Œ ์‚ฌ์šฉ.32๋น„ํŠธ์™€ 64๋น„ํŠธ๋ฅผ ๋™์‹œ์— ์ง€์›ํ•˜๊ธฐ ์œ„ํ•ด 2๋ฒˆ์งธ ์ธ์ˆ˜์™€ 3๋ฒˆ์งธ ์ธ์ˆ˜๋ฅผ ํ†ตํ•ด ๊ฐ 4๋ฐ”์ดํŠธ์”ฉ 64๋น„ํŠธ, ์˜คํ”„์…‹์„ ์ „๋‹ฌํ• ์ˆ˜ ์žˆ๋‹ค.SetFilePointerEx ๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๊ฒƒ์ด ์ข‹๋‹ค. ์›ํ˜•DWORD SetFilePointer( HANDLE hFile, LONG IDistanceToMove, PLONG lpDistanceToMoveHigh, DWORD dwMoveMethod); - HANDLE hFile: ํŒŒ์ผํฌ์ธํ„ฐ๋ฅผ ์˜ฎ๊ธฐ๊ณ ์ž ํ•˜๋Š” ๋Œ€์ƒ ํŒŒ์ผ์˜ ํ•ธ๋“ค. - LO..
Computer/C, CPP, MFC

ํ”„๋กœ๊ทธ๋žจ ์ข…๋ฃŒ

ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•˜๋˜์ค‘ ์–ด๋–ป๊ฒŒ ํ•˜๋ฉด ์•ˆ์ „ํ•˜๊ฒŒ ํ”„๋กœ๊ทธ๋žจ์„ ์ข…๋ฃŒํ• ๊นŒ ์ƒ๊ฐํ•ด๋ณด์•˜๋‹ค.๋ฐ”๋กœ ๊ตฌ๊ธ€๋ง ๋ฉ”๋ชจ๋ฆญ ๋ฐœ์ƒ ๋•Œ๋ฌธ์—..๋ฌธ์ œ๋“ค์ด ๋Œ€๋ถ€๋ถ„ ๋ฐœ์ƒํ•˜๋Š”๊ฒƒ์œผ๋กœ ๋ณด์—ฌ์ง€๋”๋ผ.. ์•„ํ•˜! ๊ทธ๋ ‡๊ตฌ๋‚˜, ๋ผ๊ณ  ๋‹ค์‹œ ํ•œ๋ฒˆ ๋Š๋‚€ ํ›„... ์“ฐ๋˜๋Œ€๋กœ ๊ทธ๋ƒฅ 'ExitProcess' ์ด๊ฑฐ ์‚ฌ์šฉํ•˜์˜€๋‹ค. ๋! ๋ฉ”์ธ ๋‹ค์ด์–ผ๋กœ๊ทธ::OnInitDialog()์—์„œ ํ”„๋กœ๊ทธ๋žจ์„ ์ข…๋ฃŒํ•˜๊ณ  ์‹ถ๋‹ค.OnClose๋‚˜ ๊ธฐํƒ€ ๋ฉ”์†Œ๋“œ๊ฐ€ ๋จน์ง€ ์•Š๊ฑฐ๋‚˜ ๋จน์–ด๋„ ๋ฉ”๋ชจ๋ฆฌ ์ถฉ๋Œ ์˜ค๋ฅ˜๋ฉ”์‹œ์ง€๊ฐ€ ๋‚˜์˜จ๋‹ค.exit(0);๋ฅผ ๋„ฃ์–ด์ค˜๋„ ๋˜๋‚˜ ๋น„์ •์ƒ์ ์ธ terminated๋ผ ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ::SendMessage(this->m_hWnd, WM_CLOSE, NULL, NULL);ํ˜น์€ ::SendMessage(GetSafeHwnd(), WM_CLOSE, NULL, NULL..
Computer/C, CPP, MFC

ํ•˜์œ„ํด๋”๊นŒ์ง€ ์ „์ฒด ๋ณต์‚ฌํ•˜๊ธฐ

BOOL ---------------::XCopy(char *Src, char *Dest, int my94) { HANDLE hSrch; WIN32_FIND_DATA wfd; BOOL bResult = TRUE; char fname[MAX_PATH]; char WildCard[MAX_PATH];// ์›๋ณธ char HoneyCard[MAX_PATH];// ์‚ฌ๋ณธ char SrcFile[MAX_PATH]; char DestFile[MAX_PATH]; strcpy_s(WildCard, Src); strcat_s(WildCard, "\*.*"); strcpy_s(HoneyCard, Dest); // ํด๋”์œ„์น˜ if (my94 == 0) // ์žฌ๊ท€ { } else if (my94 == 1) // EZ-Raschel ..
Computer/C, CPP, MFC

์œˆ๋„์šฐ ๋ฒ„์ „ ์•Œ์•„๋ณด๊ธฐ

int GetWindowsType(void) { /* return value : -1 : ๋ฒ„์ „์–ป๊ธฐ ์‹คํŒจ 1 : Windows 95, 2 : Windows 98, 3 : Windows ME, 4 : Windows NT, 5 : Windows 2000, 6 : Windows XP, 7 : Windows 2003, 8 : Windows Vista, 2008 9 : Windows 7, 2008 R2 10: Windows 10, */ int nVersion = -1; OSVERSIONINFOEX osvi = { 0, }; BOOL version_ex_flag = 0; osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX); if (!(version_ex_flag = GetVer..
Computer/C, CPP, MFC

timeSetEvent ์™€ ์นœ๊ตฌ๋“ค

์ดํ‹€์งธ, ํ”„๋กœ๊ทธ๋žจ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด์ฃผ๋Š”๊ฑธ ํ™•์ธํ•˜๋Š” ๋ถ€๋ถ„์ด ์žˆ๋Š”๋ฐ (์‚ฌ์‹ค ์ด๋ถ€๋ถ„๋„ ๋ชฐ๋ž๋‹ค..๋‚ด๊ฐ€ ๋งŒ๋“ ๊ฒŒ ์•„๋‹ˆ๋‹ˆใ…œใ…œ)๊ณ„์† ๋ฌดํ•œ๋ฃจํ”„ ๊ฑธ๋ ธ๋Š”์ง€ '์‘๋‹ต์—†์Œ' ์œผ๋กœ๋„๋„ํ•œ ๋…€์„ ๊ฐ™์œผ๋‹ˆ ๋Œ€๊พธ๊ฐ€~ ์—†์–ด!!!!!!!! ์ด๋ฆฌ๋ณด๊ณ  ์ €๋ฆฌ๋ณด๊ณ  ์ด๋ถ€๋ถ„์ผ๊บผ๋ผ๊ณ  ์˜ˆ์ƒ์€ ๋˜์—ˆ๋‹ค.. WaitForSingleObject ์˜ˆ์ƒ์€ ํ–ˆ์ง€๋งŒ, ์—ญ์‹œ๋‚˜... ์ด๋…€์„๊ณผ ๊ฐ™์ด ๋†€๊ณ  ์žˆ๋Š” ๋…€์„์ด ๋ฒ”์ธ์ด์˜€๋‹ค.timeSetEvent์ด๋†ˆ์˜ด~!!! ์žฌํ˜„์ด 1์‹œ๊ฐ„์ด์ƒ ๊ฑธ๋ฆฌ๋‹ˆ.. ใ…œใ…œ์ง€๋ฃจํ•ด~ WaitForSingleObject ์—์„œ ๋ฐ›์•„์•ผ๋˜๋Š”๋ฐ ๋ฐ›์ง€๋ฅผ ๋ชปํ•˜๋‹ˆ.. ์ฐธ๊ณ : WaitForSingleObject ์ž! ๊ทธ๋Ÿผ timeSetEvent์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž.๋ฉ€ํ‹ฐ๋ฏธ๋””์–ด ํƒ€์ด๋จธ๋กœ ์•„์ฃผ์•„์ฃผ ๋†’์€ ์ •ํ™•๋„์˜ ํƒ€์ด๋จธ์ด๋‹ค.์ผ์ •ํ•œ ์ฃผ๊ธฐ๋งˆ๋‹ค ํ‘œ์‹œ๋œ ์ฝœ๋ฐฑ ํ•จ์ˆ˜๋‚˜ ์ด๋ฒคํŠธ๋ฅผ ํ˜ธ์ถœ ํ•œ๋‹ค. ..
Computer/C, CPP, MFC

Printf ํ•จ์ˆ˜์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž

Printf ํ•จ์ˆ˜์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž #include int main(void) { printf("Hello, world\n"); return 0; } ์œ„์˜ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•ด ๋ด…์‹œ๋‹ค. ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด Hello, world ๋ผ๋Š” ํ™”๋ฉด์ด ๋‚˜์˜ฌ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋งž์Šต๋‹ˆ๋‹ค. printf ๋ผ๋Š” ํ•จ์ˆ˜๋Š” ํ™”๋ฉด์— ๋‚ด์šฉ์„ ์ถœ๋ ฅํ•˜๋Š” ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค. printf("---") ์˜ --- ์ด ๋ถ€๋ถ„์˜ ๋‚ด์šฉ์„ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค. printf ํ•จ์ˆ˜๋Š” ๋ฌธ์ž์—ด์„ ์ถœ๋ ฅํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค. Hello, world์˜ ๋ ๋ถ€๋ถ„์— ๋ณด๋ฉด '\n'๊ณผ ๊ฐ™์€ ๋ฌธ์ž๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฐ ๋ฌธ์ž๋ฅผ ๊ฐ€๋ฅด์ผœ ์ด์Šค์ผ€์ดํ”„ ์‹œํ€€์Šค(escape sequence)๋ผ ๋ถ€๋ฅด๊ฑฐ๋‚˜ ํŠน์ˆ˜๋ฌธ์ž๋ผ๊ณ  ๋ถ€๋ฅด๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋‹จ์ˆœํžˆ ์ถœ๋ ฅ๋˜๋Š” ๋ฌธ์ž๊ฐ€ ์•„๋‹ˆ๋ผ ๋‹ค๋ฅธ ์˜๋ฏธ๋กœ ํ•ด์„์ด ๋˜๋Š” ๋ณ„๋„์˜ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ๋ฌธ์ž์ž…..
Computer/ETC

์‹œ์ž‘ ํ•ด ๋ณผ๊นŒ?

์ˆ˜ ๋งŽ์€ ๊ฐœ๋ฐœํ™˜๊ฒฝ์ด ์žˆ์ง€๋งŒ.. ๋‹ค์–‘ํ•ญ ๊ฐœ๋ฐœํ™˜๊ฒฝ์ค‘์—์„œ ๊ฐ€์žฅ ๋ณดํŽธ์ ์œผ๋กœ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” Visual C++ Express Edition ์„ ์„ค์น˜ํ•ด์„œ ์‹ค์Šตํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.~ ํํํฌํฌ ์ž~ ์ผ๋‹จ Visual C++ Express Edition ์„ ๋‹ค์šด ๋ฐ›์•„์•ผ ํ•œ๋‹ค. Visual C++ Express Edition์€ Microsoft ์‚ฌ์˜ ํ™ˆํŽ˜์ด์ง€์—์„œ ๋ฌด๋ฃŒ๋กœ ๋‹ค์šด ๋ฐ›์„์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (http://www.microsoft.com/visualstudio/en-us/products/2010-editions/express#webInstall) ์ ˆ๋Œ€ ๋ถˆ๋ฒ•์€ ์•„๋‹™๋‹ˆ๋‹ค~ ์„ค์น˜๋Š” ๋ฌด์ง€๋ฌด์ง€๋ฌด~~์ง€ ์‰ฝ์Šต๋‹ˆ๋‹ค. (์„ค์น˜์ •๋„ ๋ชปํ•˜๋ฉด ์ปดํ“จํ„ฐ ๊ธฐ์ดˆ๋ถ€ํ„ฐ ๋‹ค์‹œ ํ•˜์…”์•ผ๊ฒ ์ฃ ~?) ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“ค๊ธฐ์— ์•ž์„œ์„œ ์†”๋ฃจ์…˜๊ณผ ํ”„๋กœ์ ํŠธ๋ผ๋Š” ๊ฒƒ์„ ๋งŒ๋“ค์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค...
EIGHTBOX
EIGHTBOX
hwaya.

programmer

๐Ÿ‹์ผ์ƒ์˜ ์†Œ์†Œํ•œ ์ˆœ๊ฐ„๋“ค๋ถ€ํ„ฐ ํฐ ๊ฟˆ๊นŒ์ง€, ํ˜ธ๊ธฐ์‹ฌ์„ ๋งŒ์กฑ์‹œํ‚ฌ ๋‹ค์–‘ํ•œ ์นดํ…Œ๊ณ ๋ฆฌ๋ฅผ ๋‹ด์€ ๋ธ”๋กœ๊ทธ ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ , ์†Œ์†Œํ•œ ํ–‰๋™์— ๊ฐ๋™ํ•˜๋ฉฐ ๊ธฐ๋ปํ•˜๊ณ  ํ•˜๋ฃจํ•˜๋ฃจ์— ๊ฐ์‚ฌํ•˜๋Š” ์‚ฌ๋žŒ๐ŸŒต

Today Yesterday Total
์ตœ์‹ ๊ธ€