<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>나도 개발자 할래</title>
		<link>http://pjh2104.tistory.com/</link>
		<description>제 블로그의 소스로 인한 피해는 책임지지 않습니다. &#039;이런코드도 있다, 이런 뉴비도 있다&#039; 라는걸 미리 밝힙니다</description>
		<language>ko</language>
		<pubDate>Sun, 19 Feb 2012 17:45:04 +0900</pubDate>
		<generator>Tistory 1.1 (http://www.tistory.com/)</generator>
		<managingEditor>정환나라</managingEditor>
		<image>
		<title>나도 개발자 할래</title>
		<url><![CDATA[http://cfile23.uf.tistory.com/image/1105993C4DD277BA2D81E9]]></url>
		<link>http://pjh2104.tistory.com/</link>
		<description>제 블로그의 소스로 인한 피해는 책임지지 않습니다. &#039;이런코드도 있다, 이런 뉴비도 있다&#039; 라는걸 미리 밝힙니다</description>
		</image>
		<item>
			<title>[C#]그래서 대충만든 후킹 프로그램 ClicknTouch 0.1a</title>
			<link>http://pjh2104.tistory.com/42</link>
			<description>무슨 키가 입력되는지&lt;br /&gt;
몇번 입력됐는지&lt;br /&gt;
마우스의 유효픽셀 이동거리는 얼마인지&lt;br /&gt;
-&amp;gt; 이거슨, 문제가 있는게, 1920x1680모니터에서 화면 끝으로 마우스를 한번에 빨리 움직이면 1680픽셀이 다 인식이 되는것이 아님. 하지만 천천히 움직이면 다 인식됨&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;c#으로 만들었고,&lt;br /&gt;
윈도xp에서는 트레이로 축소시키면 몇초간의 딜레이가 있음&lt;br /&gt;
윈도7 에서는 딜레이 없이 작동 잘 되는듯&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
차후예상&amp;nbsp;추가기능&amp;nbsp;&lt;br /&gt;
마우스 클릭 세기&lt;br /&gt;
키보드의 키중 제일 많이 입력된 키 랭크 매기기&lt;br /&gt;
마우스 픽셀 이동거리 통한 모니터 크기를 받아서 실제 이동거리를 구하기(하루에 몇 m를 갔니 이런거)&lt;br /&gt;
&amp;nbsp;&lt;p style=&quot;margin:0&quot;&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://pjh2104.tistory.com/attachment/cfile6.uf@1732644F4F346EE3129A51.exe&quot;&gt;&lt;img src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/blog/image/extension/exe.gif&quot; alt=&quot;&quot; style=&quot;vertical-align: middle;&quot; /&gt; ClicknTouch.exe&lt;/a&gt;&lt;/div&gt;&lt;/p&gt;&lt;div class=&quot;entry-ccl&quot; style=&quot;clear: both; text-align: right; margin-bottom: 10px&quot;&gt;
	&lt;img id=&quot;ccl-icon-42-0&quot; class=&quot;entry-ccl-by&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black01.png&quot; alt=&quot;저작자 표시&quot;/&gt;
	&lt;img id=&quot;ccl-icon-42-1&quot; class=&quot;entry-ccl-nc&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black02.png&quot; alt=&quot;비영리&quot;/&gt;
	&lt;img id=&quot;ccl-icon-42-2&quot; class=&quot;entry-ccl-sa&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black04.png&quot; alt=&quot;동일 조건 변경 허락&quot;/&gt;
	&lt;!--
	&lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
		&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
&lt;fieldset style=&quot;margin:20px 0px 20px 0px;padding:5px;&quot;&gt;&lt;legend&gt;&lt;span&gt;&lt;strong&gt;크리에이티브 커먼즈 라이선스&lt;/strong&gt;&lt;/span&gt;&lt;/legend&gt;&lt;!--Creative Commons License--&gt;&lt;div style=&quot;float: left; width: 88px; margin-top: 3px;&quot;&gt;&lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;Creative Commons License&quot; style=&quot;border-width: 0&quot; src=&quot;http://i.creativecommons.org/l/by-nc-sa/2.0/kr/88x31.png&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: 92px; margin-top: 3px; text-align: justify;&quot;&gt;이 저작물은 &lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=&quot;_blank&quot;&gt;크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이선스&lt;/a&gt;에 따라 이용하실 수 있습니다.
			&lt;!-- Creative Commons License--&gt;
			&lt;!-- &lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
			&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; /&gt;
			&lt;/Work&gt;
			&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/DerivativeWorks&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/ShareAlike&quot;/&gt;&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;&lt;/License&gt;&lt;/rdf:RDF&gt; --&gt;&lt;/div&gt;&lt;/fieldset&gt;</description>
			<category>C#(.Net)</category>
			<author>정환나라</author>
			<guid>http://pjh2104.tistory.com/42</guid>
			<comments>http://pjh2104.tistory.com/42#entry42comment</comments>
			<pubDate>Fri, 10 Feb 2012 12:48:10 +0900</pubDate>
		</item>
		<item>
			<title>[C/C++]if문 같은 조건문에서의 조건식 유의점</title>
			<link>http://pjh2104.tistory.com/41</link>
			<description>&lt;b&gt;이 글은 C++기초플러스(5판)에서 발췌한 글입니다.&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;실전 프로그래밍 : 조건 표현식의 연산자와 버그 예방법&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;&#039;같다&#039; 연산자(==)를 사용할 곳에 대입 연산자(=)를 입력하는 실수를 없애기 위하여, &lt;br /&gt;
많은&lt;b&gt;&amp;nbsp;&lt;/b&gt;프로그래머들이 더 직관적인 표현인 &#039;variable == value&#039; 를 &#039;value == variable&#039;로 뒤집어 사용하고 있다.&lt;br /&gt;
예를 들면, 조건을 다음과 같이 입력하면&lt;br /&gt;
&lt;br /&gt;&lt;div style=&quot;margin-left: 4em; &quot;&gt;
&lt;/div&gt;&lt;div&gt;
&amp;nbsp;if (3 == nCount)&lt;br /&gt;
&lt;br /&gt;바르게 동작한다. 그러나 실수로 다음과 같이 입력하면&lt;br /&gt;
&lt;br /&gt;if (3 = nCount)&lt;br /&gt;
&lt;br /&gt;리터럴에 어떤 값을 대입하여는 시도로 간주되어 컴파일러가 에러 메시지를 내보낼 것이다. &lt;br /&gt;
(3은 언제까지나 3일 뿐이며, 다른값을 대입할 수 없다.)&amp;nbsp;&lt;br /&gt;
그러나 &#039;variable == value&#039;형식을 사용하면서 다음과 같이 == 대신 = 를 입력하는 실수를 범했을 때에는&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;if (nCount &amp;nbsp;= 3)&lt;br /&gt;
&lt;br /&gt;컴파일러가 nCount에 무작정 값 3을 대입할 것이고, 이 조건은 참이되어 if의 true 블록을 실행할 것이다.&lt;br /&gt;
이것은 매우 흔하게 발생하는 에러이지만 찾아내기가 무척 어렵다.&lt;br /&gt;
일반적으로, 컴파일러가 에러를 쉽게 찾을 수 있도록 프로그램을 작성하는 것이 찾기 어려운 에러를 만들어 놓고 이를 고치느라 애를 먹는것보다 훨씬 낫다.&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;=======================&lt;br /&gt;
&lt;br /&gt;요약할께요.&lt;br /&gt;
&lt;b&gt;if문 쓸때 &#039;if ( nCount == 3)&#039; 이렇게 쓰는것보다 &#039;if (3 == nCount)로 쓰는버릇을 들이는게 좋다 입니다.&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;if (nCount = 3) 으로 하면 문법적으로 문제가 없기 때문에 에러검출이 되지 않습니다. &lt;br /&gt;
학생분들이야 코드 몇줄 안되지만, 실무로 가면 이걸 일일히 찾아서 수정하기는 어려운 일입니다.&amp;nbsp;&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
예로 (출력부분에서 예가 잘못되었지만 조건식을 중점으로 든 예이므로 이해 부탁드립니다)&lt;br /&gt;
&lt;br /&gt;int MyAge = 20;&lt;br /&gt;
if (MyAge = 28)&lt;/div&gt;
&lt;div&gt;{&amp;nbsp;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; cout &amp;lt;&amp;lt; &quot;내 나이는 28 이다&quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
}&amp;nbsp;&lt;br /&gt;
else&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp; &amp;nbsp; cout &amp;lt;&amp;lt; &quot;내 나이는 20 이다.&quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;이렇게 하면 &lt;br /&gt;
&quot;내 나이는 28이다&quot; 가 출력되어 버립니다. 의도에 맞지 않는거죠.&lt;br /&gt;
if문에서 &#039;=&#039;을 두번 넣는걸 실수로 한번 넣어서 생긴 오류입니다. 하지만 문법적으로 문제는 없죠.&lt;br /&gt;
컴파일러가 에러를 잡아주지 않기 때문에 뭐가 문제지? 하면서 오랜시간 디버깅을 해야할수도 있고, 재수좋아서 한방에 끝낼수도있습니다만, 애초에 에러를 안내기 위해서는&lt;br /&gt;
&lt;br /&gt;int MyAge = 20;&lt;br /&gt;
if ( 28 == MyAge)&lt;br /&gt;
{&amp;nbsp;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; cout &amp;lt;&amp;lt; &quot;내 나이는 28 이다&quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
}&amp;nbsp;&lt;br /&gt;
else&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp; &amp;nbsp; cout &amp;lt;&amp;lt; &quot;내 나이는 20 이다.&quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;로 하면 &amp;nbsp;if문의 조건식에서 false를 리턴하기 때문에 if문 안으로 들어가지 않습니다. 그래서 &quot;내 나이는 20 이다&quot;가 출력되는게 정상이죠.&lt;br /&gt;
&lt;br /&gt;즉, 변경할수 없는 값, 상수값을 앞에 둬야 실수로 &#039;=&#039;으로 입력했더라도 컴파일러 수준에서 에러를 검출해 줄수 있습니다.&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;ps. 언어마다 다릅니다. java같은 경우는 c와 다른 조건식의 경우를 가집니다. &lt;br /&gt;
java는 if문의 조건식에서 대입을 할수 없는것으로 알고있습니다. &lt;br /&gt;
이 글은 c와 c++의 경우로 한정하고 있습니다.(제가 아는 범위 한정입니다. 제가 틀렸을경우 신속한 지적 부탁드립니다&lt;/div&gt;&lt;div class=&quot;entry-ccl&quot; style=&quot;clear: both; text-align: right; margin-bottom: 10px&quot;&gt;
	&lt;img id=&quot;ccl-icon-41-0&quot; class=&quot;entry-ccl-by&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black01.png&quot; alt=&quot;저작자 표시&quot;/&gt;
	&lt;img id=&quot;ccl-icon-41-1&quot; class=&quot;entry-ccl-nc&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black02.png&quot; alt=&quot;비영리&quot;/&gt;
	&lt;img id=&quot;ccl-icon-41-2&quot; class=&quot;entry-ccl-sa&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black04.png&quot; alt=&quot;동일 조건 변경 허락&quot;/&gt;
	&lt;!--
	&lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
		&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
&lt;div class=&quot;blogger-news-widget&quot; style=&quot;width: 100%; text-align: center&quot;&gt;
		  					&lt;embed src=&quot;http://api.v.daum.net/static/recombox1.swf&quot; quality=&quot;high&quot; flashvars=&quot;nid=22354194&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;false&quot; bgcolor=&quot;#ffffff&quot; width=&quot;400&quot; height=&quot;80&quot; type=&quot;application/x-shockwave-flash&quot; wmode=&quot;transparent&quot;&gt;&lt;/embed&gt;
						&lt;/div&gt;&lt;fieldset style=&quot;margin:20px 0px 20px 0px;padding:5px;&quot;&gt;&lt;legend&gt;&lt;span&gt;&lt;strong&gt;크리에이티브 커먼즈 라이선스&lt;/strong&gt;&lt;/span&gt;&lt;/legend&gt;&lt;!--Creative Commons License--&gt;&lt;div style=&quot;float: left; width: 88px; margin-top: 3px;&quot;&gt;&lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;Creative Commons License&quot; style=&quot;border-width: 0&quot; src=&quot;http://i.creativecommons.org/l/by-nc-sa/2.0/kr/88x31.png&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: 92px; margin-top: 3px; text-align: justify;&quot;&gt;이 저작물은 &lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=&quot;_blank&quot;&gt;크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이선스&lt;/a&gt;에 따라 이용하실 수 있습니다.
			&lt;!-- Creative Commons License--&gt;
			&lt;!-- &lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
			&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; /&gt;
			&lt;/Work&gt;
			&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/DerivativeWorks&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/ShareAlike&quot;/&gt;&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;&lt;/License&gt;&lt;/rdf:RDF&gt; --&gt;&lt;/div&gt;&lt;/fieldset&gt;</description>
			<category>C++</category>
			<category>C</category>
			<category>C++</category>
			<category>false</category>
			<category>If</category>
			<category>조건식</category>
			<author>정환나라</author>
			<guid>http://pjh2104.tistory.com/41</guid>
			<comments>http://pjh2104.tistory.com/41#entry41comment</comments>
			<pubDate>Thu, 10 Nov 2011 10:44:01 +0900</pubDate>
		</item>
		<item>
			<title>[C++/MFC] 정규DLL(Regular DLL)과 MFC 연동하기</title>
			<link>http://pjh2104.tistory.com/40</link>
			<description>삽질하다 결국 ㅈㅈ 쳤는데 알고보니 다 왔었다 참나 ㅋㅋㅋㅋ&lt;br /&gt;
&lt;br /&gt;
솔루션 하나를 만들고, MFC용 프로젝트와 DLL을 만들 DLL프로젝트를 만든다.&lt;br /&gt;
그리고 MFC에 DLL과의 연결 속성들을 알아서 정해준다. (뭐 그런것들... Projects Dependencies...zz)&lt;br /&gt;
그런것들은 알아서 정해주고 이제 각 DLL을 구성하는 헤더들에 같은 선언들을 해준다.&lt;br /&gt;
&lt;br /&gt;
//Component.h&lt;br /&gt;
#ifdef DLLCOMPONENT&lt;br /&gt;
#define CCOMPONENT __declspec(dllexport)&lt;br /&gt;
#else&lt;br /&gt;
#define CCOMPONENT __declspec(dllimport)&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
class CCOMPONENT CComponent{ ~~~~~~~};&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
//Component.cpp&lt;br /&gt;
#define CCOMPONENT //이건 해주는지 안해주는지 까먹었다. 알아서 하셈&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&amp;nbsp;&lt;br /&gt;
~~~~&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
이런식으로 선언을 모든 DLL구성 파일들에게 해줘야 한다. &quot;똑같이&quot;&lt;br /&gt;
즉, DLL로 만들 클래스들을 저런식으로 똑같이 선언해주면 된다는 거다.&lt;br /&gt;
&lt;br /&gt;
젠장.....&lt;br /&gt;
난 클래스마다 다르게 했더만 아니라네? ㅠㅠ&lt;br /&gt;
클래스 이름이 달라서 다르게 구분지어 줬더만 똑같이하라니 이런 된장 ㅠㅠㅠㅠㅠ&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
추가. 이거 삽질한다고 각종 리크에러들 다 나왔음 ㅠㅠ&amp;nbsp;&lt;div class=&quot;entry-ccl&quot; style=&quot;clear: both; text-align: right; margin-bottom: 10px&quot;&gt;
	&lt;img id=&quot;ccl-icon-40-0&quot; class=&quot;entry-ccl-by&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black01.png&quot; alt=&quot;저작자 표시&quot;/&gt;
	&lt;img id=&quot;ccl-icon-40-1&quot; class=&quot;entry-ccl-nc&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black02.png&quot; alt=&quot;비영리&quot;/&gt;
	&lt;img id=&quot;ccl-icon-40-2&quot; class=&quot;entry-ccl-sa&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black04.png&quot; alt=&quot;동일 조건 변경 허락&quot;/&gt;
	&lt;!--
	&lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
		&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
&lt;div class=&quot;blogger-news-widget&quot; style=&quot;width: 100%; text-align: center&quot;&gt;
		  					&lt;embed src=&quot;http://api.v.daum.net/static/recombox1.swf&quot; quality=&quot;high&quot; flashvars=&quot;nid=20067927&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;false&quot; bgcolor=&quot;#ffffff&quot; width=&quot;400&quot; height=&quot;80&quot; type=&quot;application/x-shockwave-flash&quot; wmode=&quot;transparent&quot;&gt;&lt;/embed&gt;
						&lt;/div&gt;&lt;fieldset style=&quot;margin:20px 0px 20px 0px;padding:5px;&quot;&gt;&lt;legend&gt;&lt;span&gt;&lt;strong&gt;크리에이티브 커먼즈 라이선스&lt;/strong&gt;&lt;/span&gt;&lt;/legend&gt;&lt;!--Creative Commons License--&gt;&lt;div style=&quot;float: left; width: 88px; margin-top: 3px;&quot;&gt;&lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;Creative Commons License&quot; style=&quot;border-width: 0&quot; src=&quot;http://i.creativecommons.org/l/by-nc-sa/2.0/kr/88x31.png&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: 92px; margin-top: 3px; text-align: justify;&quot;&gt;이 저작물은 &lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=&quot;_blank&quot;&gt;크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이선스&lt;/a&gt;에 따라 이용하실 수 있습니다.
			&lt;!-- Creative Commons License--&gt;
			&lt;!-- &lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
			&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; /&gt;
			&lt;/Work&gt;
			&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/DerivativeWorks&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/ShareAlike&quot;/&gt;&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;&lt;/License&gt;&lt;/rdf:RDF&gt; --&gt;&lt;/div&gt;&lt;/fieldset&gt;</description>
			<category>C++</category>
			<category>C++</category>
			<category>Component</category>
			<category>dll</category>
			<category>MFC</category>
			<category>정규dll</category>
			<category>콤포넌트</category>
			<category>클래스</category>
			<category>헤더파일</category>
			<author>정환나라</author>
			<guid>http://pjh2104.tistory.com/40</guid>
			<comments>http://pjh2104.tistory.com/40#entry40comment</comments>
			<pubDate>Tue, 30 Aug 2011 15:35:26 +0900</pubDate>
		</item>
		<item>
			<title>[C#]키보드 후킹</title>
			<link>http://pjh2104.tistory.com/39</link>
			<description>&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: rgb(114, 113, 113); font-family: 굴림, gulim, verdana, sans-serif; line-height: 19px; &quot;&gt;&lt;font color=&quot;#7575a3&quot; style=&quot;color: rgb(114, 113, 113); font-size: 12px; font-family: 굴림, gulim, verdana, sans-serif; text-decoration: none; &quot;&gt;출처 :&amp;nbsp;&lt;a href=&quot;http://nicejinux.net/bbs/zboard.php?id=lecture&amp;amp;no=66&quot; target=&quot;_blank&quot; style=&quot;color: rgb(114, 113, 113); font-size: 12px; font-family: 굴림, gulim, verdana, sans-serif; text-decoration: none; &quot;&gt;http://nicejinux.net/bbs/zboard.php?id=lecture&amp;amp;no=66&lt;br /&gt;
-- 감사합니다&lt;br /&gt;
&lt;br /&gt;&lt;/a&gt;&lt;/font&gt;&lt;/span&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#727171&quot; face=&quot;굴림, gulim, verdana, sans-serif&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;using System; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;div&gt;
&lt;font class=&quot;Apple-style-span&quot; color=&quot;#727171&quot; face=&quot;굴림, gulim, verdana, sans-serif&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;using System.Diagnostics; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#727171&quot; face=&quot;굴림, gulim, verdana, sans-serif&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;using System.Windows.Forms; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#727171&quot; face=&quot;굴림, gulim, verdana, sans-serif&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;using System.Runtime.InteropServices; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#727171&quot; face=&quot;굴림, gulim, verdana, sans-serif&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#727171&quot; face=&quot;굴림, gulim, verdana, sans-serif&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;class InterceptKeys &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#727171&quot; face=&quot;굴림, gulim, verdana, sans-serif&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;{ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#727171&quot; face=&quot;굴림, gulim, verdana, sans-serif&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; private const int WH_KEYBOARD_LL = 13;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#727171&quot; face=&quot;굴림, gulim, verdana, sans-serif&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; private const int WM_KEYDOWN = 0x0100;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#727171&quot; face=&quot;굴림, gulim, verdana, sans-serif&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; private static LowLevelKeyboardProc _proc = HookCallback; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#727171&quot; face=&quot;굴림, gulim, verdana, sans-serif&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; private static IntPtr _hookID = IntPtr.Zero;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#727171&quot; face=&quot;굴림, gulim, verdana, sans-serif&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#727171&quot; face=&quot;굴림, gulim, verdana, sans-serif&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public static void Main() &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#727171&quot; face=&quot;굴림, gulim, verdana, sans-serif&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; { &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#727171&quot; face=&quot;굴림, gulim, verdana, sans-serif&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _hookID = SetHook(_proc); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#727171&quot; face=&quot;굴림, gulim, verdana, sans-serif&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Application.Run();&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#727171&quot; face=&quot;굴림, gulim, verdana, sans-serif&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; UnhookWindowsHookEx(_hookID); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#727171&quot; face=&quot;굴림, gulim, verdana, sans-serif&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#727171&quot; face=&quot;굴림, gulim, verdana, sans-serif&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#727171&quot; face=&quot;굴림, gulim, verdana, sans-serif&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; private static IntPtr SetHook(LowLevelKeyboardProc proc)&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#727171&quot; face=&quot;굴림, gulim, verdana, sans-serif&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; { &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#727171&quot; face=&quot;굴림, gulim, verdana, sans-serif&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; using (Process curProcess = Process.GetCurrentProcess())&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#727171&quot; face=&quot;굴림, gulim, verdana, sans-serif&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; using (ProcessModule curModule = curProcess.MainModule) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#727171&quot; face=&quot;굴림, gulim, verdana, sans-serif&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#727171&quot; face=&quot;굴림, gulim, verdana, sans-serif&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return SetWindowsHookEx(WH_KEYBOARD_LL, proc, GetModuleHandle(curModule.ModuleName), 0);&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#727171&quot; face=&quot;굴림, gulim, verdana, sans-serif&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#727171&quot; face=&quot;굴림, gulim, verdana, sans-serif&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#727171&quot; face=&quot;굴림, gulim, verdana, sans-serif&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#727171&quot; face=&quot;굴림, gulim, verdana, sans-serif&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; private delegate IntPtr LowLevelKeyboardProc(int nCode, IntPtr wParam, IntPtr lParam); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#727171&quot; face=&quot;굴림, gulim, verdana, sans-serif&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; private static IntPtr HookCallback(int nCode, IntPtr wParam, IntPtr lParam)&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#727171&quot; face=&quot;굴림, gulim, verdana, sans-serif&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; { &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#727171&quot; face=&quot;굴림, gulim, verdana, sans-serif&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (nCode &amp;gt;= 0 &amp;amp;&amp;amp; wParam == (IntPtr)WM_KEYDOWN)&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#727171&quot; face=&quot;굴림, gulim, verdana, sans-serif&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; { &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#727171&quot; face=&quot;굴림, gulim, verdana, sans-serif&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int vkCode = Marshal.ReadInt32(lParam); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#727171&quot; face=&quot;굴림, gulim, verdana, sans-serif&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Console.WriteLine((Keys)vkCode);&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#727171&quot; face=&quot;굴림, gulim, verdana, sans-serif&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#727171&quot; face=&quot;굴림, gulim, verdana, sans-serif&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#727171&quot; face=&quot;굴림, gulim, verdana, sans-serif&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return CallNextHookEx(_hookID, nCode, wParam, lParam);&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#727171&quot; face=&quot;굴림, gulim, verdana, sans-serif&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#727171&quot; face=&quot;굴림, gulim, verdana, sans-serif&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#727171&quot; face=&quot;굴림, gulim, verdana, sans-serif&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [DllImport(&quot;user32.dll&quot;, CharSet = CharSet.Auto, SetLastError = true)]&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#727171&quot; face=&quot;굴림, gulim, verdana, sans-serif&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; private static extern IntPtr SetWindowsHookEx(int idHook, LowLevelKeyboardProc lpfn, IntPtr hMod, uint dwThreadId); &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#727171&quot; face=&quot;굴림, gulim, verdana, sans-serif&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#727171&quot; face=&quot;굴림, gulim, verdana, sans-serif&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [DllImport(&quot;user32.dll&quot;, CharSet = CharSet.Auto, SetLastError = true)]&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#727171&quot; face=&quot;굴림, gulim, verdana, sans-serif&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [return: MarshalAs(UnmanagedType.Bool)]&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#727171&quot; face=&quot;굴림, gulim, verdana, sans-serif&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; private static extern bool UnhookWindowsHookEx(IntPtr hhk); &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#727171&quot; face=&quot;굴림, gulim, verdana, sans-serif&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#727171&quot; face=&quot;굴림, gulim, verdana, sans-serif&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [DllImport(&quot;user32.dll&quot;, CharSet = CharSet.Auto, SetLastError = true)]&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#727171&quot; face=&quot;굴림, gulim, verdana, sans-serif&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; private static extern IntPtr CallNextHookEx(IntPtr hhk, int nCode, IntPtr wParam, IntPtr lParam);&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#727171&quot; face=&quot;굴림, gulim, verdana, sans-serif&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#727171&quot; face=&quot;굴림, gulim, verdana, sans-serif&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [DllImport(&quot;kernel32.dll&quot;, CharSet = CharSet.Auto, SetLastError = true)]&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#727171&quot; face=&quot;굴림, gulim, verdana, sans-serif&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; private static extern IntPtr GetModuleHandle(string lpModuleName); &amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#727171&quot; face=&quot;굴림, gulim, verdana, sans-serif&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;}&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
콘솔어플리케이션으로 만들고 system.window.form하나 추가해주고&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div class=&quot;entry-ccl&quot; style=&quot;clear: both; text-align: right; margin-bottom: 10px&quot;&gt;
	&lt;img id=&quot;ccl-icon-39-0&quot; class=&quot;entry-ccl-by&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black01.png&quot; alt=&quot;저작자 표시&quot;/&gt;
	&lt;img id=&quot;ccl-icon-39-1&quot; class=&quot;entry-ccl-nc&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black02.png&quot; alt=&quot;비영리&quot;/&gt;
	&lt;img id=&quot;ccl-icon-39-2&quot; class=&quot;entry-ccl-sa&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black04.png&quot; alt=&quot;동일 조건 변경 허락&quot;/&gt;
	&lt;!--
	&lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
		&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
&lt;div class=&quot;blogger-news-widget&quot; style=&quot;width: 100%; text-align: center&quot;&gt;
		  					&lt;embed src=&quot;http://api.v.daum.net/static/recombox1.swf&quot; quality=&quot;high&quot; flashvars=&quot;nid=19460629&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;false&quot; bgcolor=&quot;#ffffff&quot; width=&quot;400&quot; height=&quot;80&quot; type=&quot;application/x-shockwave-flash&quot; wmode=&quot;transparent&quot;&gt;&lt;/embed&gt;
						&lt;/div&gt;&lt;fieldset style=&quot;margin:20px 0px 20px 0px;padding:5px;&quot;&gt;&lt;legend&gt;&lt;span&gt;&lt;strong&gt;크리에이티브 커먼즈 라이선스&lt;/strong&gt;&lt;/span&gt;&lt;/legend&gt;&lt;!--Creative Commons License--&gt;&lt;div style=&quot;float: left; width: 88px; margin-top: 3px;&quot;&gt;&lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;Creative Commons License&quot; style=&quot;border-width: 0&quot; src=&quot;http://i.creativecommons.org/l/by-nc-sa/2.0/kr/88x31.png&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: 92px; margin-top: 3px; text-align: justify;&quot;&gt;이 저작물은 &lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=&quot;_blank&quot;&gt;크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이선스&lt;/a&gt;에 따라 이용하실 수 있습니다.
			&lt;!-- Creative Commons License--&gt;
			&lt;!-- &lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
			&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; /&gt;
			&lt;/Work&gt;
			&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/DerivativeWorks&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/ShareAlike&quot;/&gt;&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;&lt;/License&gt;&lt;/rdf:RDF&gt; --&gt;&lt;/div&gt;&lt;/fieldset&gt;</description>
			<category>C#(.Net)</category>
			<category>c#</category>
			<category>Csharp</category>
			<category>소스</category>
			<category>키보드</category>
			<category>키보드 후킹</category>
			<category>후킹</category>
			<author>정환나라</author>
			<guid>http://pjh2104.tistory.com/39</guid>
			<comments>http://pjh2104.tistory.com/39#entry39comment</comments>
			<pubDate>Thu, 11 Aug 2011 14:46:10 +0900</pubDate>
		</item>
		<item>
			<title>[C++/MFC] MFC로 프로그래밍 하다 콘솔창으로 디버깅 출력하고 싶을때</title>
			<link>http://pjh2104.tistory.com/38</link>
			<description>&lt;div&gt;
프로젝트 만들때 MFC_Test라는 이름으로 만들었다면 MFC_TestDlg.cpp파일에서 #include 부분 바로 다음에 이걸 추가하시고&lt;br /&gt;
#ifdef _DEBUG&lt;/div&gt;
&lt;div&gt;#pragma comment(linker, &quot;/entry:WinMainCRTStartup /subsystem:console&quot;)&lt;/div&gt;
&lt;div&gt;#endif&lt;/div&gt;
&lt;div&gt;다음에 본인이 필요한 부분에 &lt;br /&gt;
printf(&quot;인덱스 값은 %d&quot; , m_nIndex);&amp;nbsp;&lt;br /&gt;
를 추가해서 컴파일 하면 어플리케이션 창과 콘솔창이 동시에 뜨는것을 확인할수 있을것이고,&lt;br /&gt;
입력이나 수정, 삭제시마다 실시간으로 확인이 가능합니다.&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
ps. 음하하하하 한문장으로 다 썼다 ㅋㅋㅋ&lt;/div&gt;&lt;div class=&quot;entry-ccl&quot; style=&quot;clear: both; text-align: right; margin-bottom: 10px&quot;&gt;
	&lt;img id=&quot;ccl-icon-38-0&quot; class=&quot;entry-ccl-by&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black01.png&quot; alt=&quot;저작자 표시&quot;/&gt;
	&lt;img id=&quot;ccl-icon-38-1&quot; class=&quot;entry-ccl-nc&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black02.png&quot; alt=&quot;비영리&quot;/&gt;
	&lt;img id=&quot;ccl-icon-38-2&quot; class=&quot;entry-ccl-sa&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black04.png&quot; alt=&quot;동일 조건 변경 허락&quot;/&gt;
	&lt;!--
	&lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
		&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
&lt;div class=&quot;blogger-news-widget&quot; style=&quot;width: 100%; text-align: center&quot;&gt;
		  					&lt;embed src=&quot;http://api.v.daum.net/static/recombox1.swf&quot; quality=&quot;high&quot; flashvars=&quot;nid=19351416&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;false&quot; bgcolor=&quot;#ffffff&quot; width=&quot;400&quot; height=&quot;80&quot; type=&quot;application/x-shockwave-flash&quot; wmode=&quot;transparent&quot;&gt;&lt;/embed&gt;
						&lt;/div&gt;&lt;fieldset style=&quot;margin:20px 0px 20px 0px;padding:5px;&quot;&gt;&lt;legend&gt;&lt;span&gt;&lt;strong&gt;크리에이티브 커먼즈 라이선스&lt;/strong&gt;&lt;/span&gt;&lt;/legend&gt;&lt;!--Creative Commons License--&gt;&lt;div style=&quot;float: left; width: 88px; margin-top: 3px;&quot;&gt;&lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;Creative Commons License&quot; style=&quot;border-width: 0&quot; src=&quot;http://i.creativecommons.org/l/by-nc-sa/2.0/kr/88x31.png&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: 92px; margin-top: 3px; text-align: justify;&quot;&gt;이 저작물은 &lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=&quot;_blank&quot;&gt;크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이선스&lt;/a&gt;에 따라 이용하실 수 있습니다.
			&lt;!-- Creative Commons License--&gt;
			&lt;!-- &lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
			&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; /&gt;
			&lt;/Work&gt;
			&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/DerivativeWorks&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/ShareAlike&quot;/&gt;&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;&lt;/License&gt;&lt;/rdf:RDF&gt; --&gt;&lt;/div&gt;&lt;/fieldset&gt;</description>
			<category>C++</category>
			<category>C++</category>
			<category>MFC</category>
			<category>printf</category>
			<category>디버깅</category>
			<category>콘솔출력</category>
			<author>정환나라</author>
			<guid>http://pjh2104.tistory.com/38</guid>
			<comments>http://pjh2104.tistory.com/38#entry38comment</comments>
			<pubDate>Mon, 08 Aug 2011 15:58:54 +0900</pubDate>
		</item>
		<item>
			<title>[C++/MFC] 입력한 값 메시지박스로 출력하기</title>
			<link>http://pjh2104.tistory.com/37</link>
			<description>먼저 VS2003으로 작성. &lt;br /&gt;
기본적인 MFC 어플리케이션 프로젝트로 생성 후&amp;nbsp;&lt;br /&gt;
Edit Control을 두개 넣고 이름 지정(IDC_EDIT1,2로 지정)해주고,&lt;br /&gt;
확인으로 지정해줄 버튼을 생성 후 두번 클릭하면 자동으로 OnBnClickedButton1()이 생성된다. (IDC_BUTTON1)&lt;br /&gt;
&lt;p style=&quot;margin:0&quot;&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile8.uf.tistory.com/original/113094564E38CCC60694BB&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile8.uf.tistory.com/image/113094564E38CCC60694BB&quot; width=&quot;514&quot; height=&quot;356&quot; alt=&quot;&quot; filename=&quot;make1.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/p&gt;
&lt;br /&gt;&lt;p style=&quot;margin:0&quot;&gt;그리고 그것에서&lt;/p&gt;
 GetDlgItemText(IDC_EDIT1, m_str1);&amp;nbsp;&lt;br /&gt;
GetDlgItemText(IDC_EDIT2, m_str2);&amp;nbsp;&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
MessageBox(&quot;&quot;아이디는 : &quot; + m_str1 + &quot;\n&quot; + &quot;비밀번호는 : &quot; + m_str2, &quot;입력한 값&quot;, MB_OK);&lt;br /&gt;
&lt;br /&gt;
으로 입력한 후 실행하면 됨.&lt;br /&gt;
&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile30.uf.tistory.com/original/147FF3494E38CC842DB135&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile30.uf.tistory.com/image/147FF3494E38CC842DB135&quot; width=&quot;514&quot; height=&quot;356&quot; alt=&quot;&quot; filename=&quot;make2.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
ps. m_str1, m_str2는 CString으로 미리 선언해뒀음&amp;nbsp;&lt;div class=&quot;entry-ccl&quot; style=&quot;clear: both; text-align: right; margin-bottom: 10px&quot;&gt;
	&lt;img id=&quot;ccl-icon-37-0&quot; class=&quot;entry-ccl-by&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black01.png&quot; alt=&quot;저작자 표시&quot;/&gt;
	&lt;img id=&quot;ccl-icon-37-1&quot; class=&quot;entry-ccl-nc&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black02.png&quot; alt=&quot;비영리&quot;/&gt;
	&lt;img id=&quot;ccl-icon-37-2&quot; class=&quot;entry-ccl-sa&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black04.png&quot; alt=&quot;동일 조건 변경 허락&quot;/&gt;
	&lt;!--
	&lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
		&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
&lt;div class=&quot;blogger-news-widget&quot; style=&quot;width: 100%; text-align: center&quot;&gt;
		  					&lt;embed src=&quot;http://api.v.daum.net/static/recombox1.swf&quot; quality=&quot;high&quot; flashvars=&quot;nid=19208700&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;false&quot; bgcolor=&quot;#ffffff&quot; width=&quot;400&quot; height=&quot;80&quot; type=&quot;application/x-shockwave-flash&quot; wmode=&quot;transparent&quot;&gt;&lt;/embed&gt;
						&lt;/div&gt;&lt;fieldset style=&quot;margin:20px 0px 20px 0px;padding:5px;&quot;&gt;&lt;legend&gt;&lt;span&gt;&lt;strong&gt;크리에이티브 커먼즈 라이선스&lt;/strong&gt;&lt;/span&gt;&lt;/legend&gt;&lt;!--Creative Commons License--&gt;&lt;div style=&quot;float: left; width: 88px; margin-top: 3px;&quot;&gt;&lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;Creative Commons License&quot; style=&quot;border-width: 0&quot; src=&quot;http://i.creativecommons.org/l/by-nc-sa/2.0/kr/88x31.png&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: 92px; margin-top: 3px; text-align: justify;&quot;&gt;이 저작물은 &lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=&quot;_blank&quot;&gt;크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이선스&lt;/a&gt;에 따라 이용하실 수 있습니다.
			&lt;!-- Creative Commons License--&gt;
			&lt;!-- &lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
			&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; /&gt;
			&lt;/Work&gt;
			&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/DerivativeWorks&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/ShareAlike&quot;/&gt;&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;&lt;/License&gt;&lt;/rdf:RDF&gt; --&gt;&lt;/div&gt;&lt;/fieldset&gt;</description>
			<category>C++</category>
			<category>C++</category>
			<category>MFC</category>
			<category>VS2003</category>
			<category>메세지박스</category>
			<category>윈도프로그래밍</category>
			<category>이벤트</category>
			<author>정환나라</author>
			<guid>http://pjh2104.tistory.com/37</guid>
			<comments>http://pjh2104.tistory.com/37#entry37comment</comments>
			<pubDate>Wed, 03 Aug 2011 13:18:02 +0900</pubDate>
		</item>
		<item>
			<title>[C++]객체, 포인터, 이중포인터, 배열 다루기 예제(파일첨부)</title>
			<link>http://pjh2104.tistory.com/36</link>
			<description>&lt;div&gt;
int main()&lt;/div&gt;
&lt;div&gt;
{&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;CComponent* pComponent = new CComponent(&quot;My Component&quot;);&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //1. 객체로 인자를 넘길때(1번을 한다면 2번을 주석처리하세요)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;pComponent-&amp;gt;AddParameter(CParameter(&quot;Test1&quot;));&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;pComponent-&amp;gt;AddParameter(CParameter(&quot;Test2&quot;));&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;pComponent-&amp;gt;AddParameter(CParameter(&quot;Test3&quot;));&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;pComponent-&amp;gt;AddParameter(CParameter(&quot;Test4&quot;));&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;pComponent-&amp;gt;AddParameter(CParameter(&quot;Test5&quot;));&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;pComponent-&amp;gt;AddParameter(CParameter(&quot;Test6&quot;));&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;pComponent-&amp;gt;AddParameter(CParameter(&quot;Test7&quot;));&lt;br /&gt;
////////&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;br /&gt;
&amp;nbsp;&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//2. 포인터로 인자를 넘길때(2번을 한다면 1번을 주석처리하세요)&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;for (int i = 0; i &amp;lt; 6; i++)&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;{&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;		&lt;/span&gt;pComponent-&amp;gt;AddParameter(CParameter(&quot;Test&quot;));&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;}&lt;br /&gt;
////////&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;int nSize = pComponent -&amp;gt; GetParameterSize();&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for (int i = 0; i &amp;lt; nSize; i++) //객체로 넘길때입니다. 포인터로 넘길시에 &quot;GetParameterAt(i)-&amp;gt;&quot;로 변경. &lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //아래의 포문도 동일&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;{&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;		&lt;/span&gt;cout &amp;lt;&amp;lt; i+1 &amp;lt;&amp;lt; &quot; &quot; &amp;lt;&amp;lt; pComponent-&amp;gt;GetParameterAt(i).GetName() &amp;lt;&amp;lt; endl;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;}&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;cout &amp;lt;&amp;lt; endl;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;cout &amp;lt;&amp;lt; &quot;3번째 객체를 삭제합니다&quot; &amp;lt;&amp;lt; endl;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;pComponent-&amp;gt;DeleteParameterAt(3);&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;cout &amp;lt;&amp;lt; endl;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;nSize = pComponent -&amp;gt; GetParameterSize();&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;for (int i = 0; i &amp;lt; nSize; i++)&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;{&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;		&lt;/span&gt;cout &amp;lt;&amp;lt; i+1 &amp;lt;&amp;lt; &quot; &quot; &amp;lt;&amp;lt; pComponent-&amp;gt;GetParameterAt(i).GetName() &amp;lt;&amp;lt; endl;&lt;p style=&quot;margin:0&quot;&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://pjh2104.tistory.com/attachment/cfile3.uf@136E61434E3755963058C0.zip&quot;&gt;&lt;img src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/blog/image/extension/zip.gif&quot; alt=&quot;&quot; style=&quot;vertical-align: middle;&quot; /&gt; ComponentnParameter.zip&lt;/a&gt;&lt;/div&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;}&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;cout &amp;lt;&amp;lt; endl;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;delete pComponent;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;return 0;&lt;/div&gt;
&lt;div&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
헤더파일 분리&lt;br /&gt;
Component.h , Parameter.h, BaseEntity.h 로 분리후 Parameter클래스는 BaseEntity클래스를 상속받음.&lt;br /&gt;
BaseEntity클래스는 &quot;Test1&quot;, &quot;Test2&quot; 같은 문자를 입력받습니다.(멤버변수가 &#039;char* 변수명&#039;임)&amp;nbsp;&lt;br /&gt;
Component클래스는 Parameter객체들을 배열형태로 관리 합니다.&lt;br /&gt;
&lt;br /&gt;
구현해보시고 제가 만든거하고 비교해보세요&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;entry-ccl&quot; style=&quot;clear: both; text-align: right; margin-bottom: 10px&quot;&gt;
	&lt;img id=&quot;ccl-icon-36-0&quot; class=&quot;entry-ccl-by&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black01.png&quot; alt=&quot;저작자 표시&quot;/&gt;
	&lt;img id=&quot;ccl-icon-36-1&quot; class=&quot;entry-ccl-nc&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black02.png&quot; alt=&quot;비영리&quot;/&gt;
	&lt;img id=&quot;ccl-icon-36-2&quot; class=&quot;entry-ccl-sa&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black04.png&quot; alt=&quot;동일 조건 변경 허락&quot;/&gt;
	&lt;!--
	&lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
		&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
&lt;div class=&quot;blogger-news-widget&quot; style=&quot;width: 100%; text-align: center&quot;&gt;
		  					&lt;embed src=&quot;http://api.v.daum.net/static/recombox1.swf&quot; quality=&quot;high&quot; flashvars=&quot;nid=19167804&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;false&quot; bgcolor=&quot;#ffffff&quot; width=&quot;400&quot; height=&quot;80&quot; type=&quot;application/x-shockwave-flash&quot; wmode=&quot;transparent&quot;&gt;&lt;/embed&gt;
						&lt;/div&gt;&lt;fieldset style=&quot;margin:20px 0px 20px 0px;padding:5px;&quot;&gt;&lt;legend&gt;&lt;span&gt;&lt;strong&gt;크리에이티브 커먼즈 라이선스&lt;/strong&gt;&lt;/span&gt;&lt;/legend&gt;&lt;!--Creative Commons License--&gt;&lt;div style=&quot;float: left; width: 88px; margin-top: 3px;&quot;&gt;&lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;Creative Commons License&quot; style=&quot;border-width: 0&quot; src=&quot;http://i.creativecommons.org/l/by-nc-sa/2.0/kr/88x31.png&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: 92px; margin-top: 3px; text-align: justify;&quot;&gt;이 저작물은 &lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=&quot;_blank&quot;&gt;크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이선스&lt;/a&gt;에 따라 이용하실 수 있습니다.
			&lt;!-- Creative Commons License--&gt;
			&lt;!-- &lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
			&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; /&gt;
			&lt;/Work&gt;
			&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/DerivativeWorks&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/ShareAlike&quot;/&gt;&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;&lt;/License&gt;&lt;/rdf:RDF&gt; --&gt;&lt;/div&gt;&lt;/fieldset&gt;</description>
			<category>C++</category>
			<category>C++</category>
			<category>객체</category>
			<category>배열</category>
			<category>상속</category>
			<category>이중포인터</category>
			<category>포인터</category>
			<author>정환나라</author>
			<guid>http://pjh2104.tistory.com/36</guid>
			<comments>http://pjh2104.tistory.com/36#entry36comment</comments>
			<pubDate>Tue, 02 Aug 2011 10:41:10 +0900</pubDate>
		</item>
		<item>
			<title>[C/C++]이건 call-by-value인가 call-by-reference인가?</title>
			<link>http://pjh2104.tistory.com/35</link>
			<description>&lt;div&gt;
void plus(char* a, char* b, char*&amp;amp; sum)&lt;/div&gt;
&lt;div&gt;
{&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;sum = strcat(a, b);&lt;/div&gt;
&lt;div&gt;
}&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; char a[100] = { &#039;\0&#039; };&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;strcpy(a, &quot;Hello &quot;);&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;char* sum = 0;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;plus(a, &quot;World!&quot;, sum);&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;cout &amp;lt;&amp;lt; sum &amp;lt;&amp;lt; endl;&amp;nbsp;&lt;br /&gt;
}&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
출력 &amp;gt;&amp;gt;&amp;nbsp;Hello World!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
이건 call-by-value일까요 call-by-reference일까요?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ps. call-by-address보다는 주소값을 이용한 call-by-reference가 맞는것 같습니다....&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;entry-ccl&quot; style=&quot;clear: both; text-align: right; margin-bottom: 10px&quot;&gt;
	&lt;img id=&quot;ccl-icon-35-0&quot; class=&quot;entry-ccl-by&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black01.png&quot; alt=&quot;저작자 표시&quot;/&gt;
	&lt;img id=&quot;ccl-icon-35-1&quot; class=&quot;entry-ccl-nc&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black02.png&quot; alt=&quot;비영리&quot;/&gt;
	&lt;img id=&quot;ccl-icon-35-2&quot; class=&quot;entry-ccl-sa&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black04.png&quot; alt=&quot;동일 조건 변경 허락&quot;/&gt;
	&lt;!--
	&lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
		&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
&lt;div class=&quot;blogger-news-widget&quot; style=&quot;width: 100%; text-align: center&quot;&gt;
		  					&lt;embed src=&quot;http://api.v.daum.net/static/recombox1.swf&quot; quality=&quot;high&quot; flashvars=&quot;nid=18746997&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;false&quot; bgcolor=&quot;#ffffff&quot; width=&quot;400&quot; height=&quot;80&quot; type=&quot;application/x-shockwave-flash&quot; wmode=&quot;transparent&quot;&gt;&lt;/embed&gt;
						&lt;/div&gt;&lt;fieldset style=&quot;margin:20px 0px 20px 0px;padding:5px;&quot;&gt;&lt;legend&gt;&lt;span&gt;&lt;strong&gt;크리에이티브 커먼즈 라이선스&lt;/strong&gt;&lt;/span&gt;&lt;/legend&gt;&lt;!--Creative Commons License--&gt;&lt;div style=&quot;float: left; width: 88px; margin-top: 3px;&quot;&gt;&lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;Creative Commons License&quot; style=&quot;border-width: 0&quot; src=&quot;http://i.creativecommons.org/l/by-nc-sa/2.0/kr/88x31.png&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: 92px; margin-top: 3px; text-align: justify;&quot;&gt;이 저작물은 &lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=&quot;_blank&quot;&gt;크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이선스&lt;/a&gt;에 따라 이용하실 수 있습니다.
			&lt;!-- Creative Commons License--&gt;
			&lt;!-- &lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
			&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; /&gt;
			&lt;/Work&gt;
			&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/DerivativeWorks&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/ShareAlike&quot;/&gt;&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;&lt;/License&gt;&lt;/rdf:RDF&gt; --&gt;&lt;/div&gt;&lt;/fieldset&gt;</description>
			<category>C++</category>
			<category>C</category>
			<category>C++</category>
			<category>call by reference</category>
			<category>call by value</category>
			<category>reference</category>
			<category>Value</category>
			<category>참조자</category>
			<author>정환나라</author>
			<guid>http://pjh2104.tistory.com/35</guid>
			<comments>http://pjh2104.tistory.com/35#entry35comment</comments>
			<pubDate>Tue, 19 Jul 2011 14:11:16 +0900</pubDate>
		</item>
		<item>
			<title>[C/C++]문자열을 자유자재로 다룰수 있는가?</title>
			<link>http://pjh2104.tistory.com/34</link>
			<description>&lt;span id=&quot;ctl00_cphContent_BindDetailView1_ctl00_lbl_note_desc&quot;&gt;
&lt;p&gt;(아래 0- 로 시작하는 과제는 C 표준 함수를 사용하지 않고 포인터 연산을 통해 구현한 버전과 C 표준 함수를 사용한 두 버전을 각각 구현하시오.)&lt;/p&gt;
&lt;div&gt;
&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: courier new, courier, monospace&quot;&gt;========================================================================&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: courier new, courier, monospace&quot;&gt;0-1. 문자열을 더하는 함수를 작성하시오.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: courier new, courier, monospace&quot;&gt;char* GetAppendedString(const char* source, const char* toAppend) {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: courier new, courier, monospace&quot;&gt;&amp;nbsp; &amp;nbsp; ... &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: courier new, courier, monospace&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: courier new, courier, monospace&quot;&gt;main(...) {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: courier new, courier, monospace&quot;&gt;&amp;nbsp; &amp;nbsp; cout &amp;lt;&amp;lt; GetAppendedString(&quot;Hello&quot;, &quot;World&quot;); // HelloWorld&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: courier new, courier, monospace&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: courier new, courier, monospace&quot;&gt;========================================================================&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: courier new, courier, monospace&quot;&gt;0-2. 문자열을 비교하는 함수를 작성하시오.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: courier new, courier, monospace&quot;&gt;bool IsEqualString(const char* source, const char* target) {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: courier new, courier, monospace&quot;&gt;&amp;nbsp; &amp;nbsp; ...&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: courier new, courier, monospace&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: courier new, courier, monospace&quot;&gt;main(...) {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: courier new, courier, monospace&quot;&gt;&amp;nbsp; &amp;nbsp; cout &amp;lt;&amp;lt; IsEqualString(&quot;Hello&quot;, &quot;World&quot;); // false&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: courier new, courier, monospace&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: courier new, courier, monospace&quot;&gt;========================================================================&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: courier new, courier, monospace&quot;&gt;0-3. 문자열을 복사하는 함수를 작성하시오.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: courier new, courier, monospace&quot;&gt;char* CopyString(char* dst, const char* src) {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: courier new, courier, monospace&quot;&gt;&amp;nbsp; &amp;nbsp; ...&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: courier new, courier, monospace&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: courier new, courier, monospace&quot;&gt;main(...) {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: courier new, courier, monospace&quot;&gt;&amp;nbsp; &amp;nbsp; char szValue[80];&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: courier new, courier, monospace&quot;&gt;&amp;nbsp; &amp;nbsp; ...&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: courier new, courier, monospace&quot;&gt;&amp;nbsp; &amp;nbsp; CopyString(szValue, &quot;HelloWorld&quot;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: courier new, courier, monospace&quot;&gt;&amp;nbsp; &amp;nbsp; cout &amp;lt;&amp;lt; szValue; // HelloWorld&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: courier new, courier, monospace&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: courier new, courier, monospace&quot;&gt;========================================================================&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: courier new, courier, monospace&quot;&gt;0-4. 문자열을 특정 문자로 분리하여 배열을 반환하는 함수를 작성하시오.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: courier new, courier, monospace&quot;&gt;?? Tokenize(char* szValue, char* token, ???) {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: courier new, courier, monospace&quot;&gt;&amp;nbsp; &amp;nbsp; ...&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: courier new, courier, monospace&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: courier new, courier, monospace&quot;&gt;main(...) {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: courier new, courier, monospace&quot;&gt;&amp;nbsp; &amp;nbsp; char* value = &quot;ABC,DEF,GHI&quot;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: courier new, courier, monospace&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: courier new, courier, monospace&quot;&gt;&amp;nbsp; &amp;nbsp; ?? = Tokenize(value, &#039;,&#039;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: courier new, courier, monospace&quot;&gt;&amp;nbsp; &amp;nbsp; for (int i = 0; i &amp;lt; ??; i++) {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: courier new, courier, monospace&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; cout &amp;lt;&amp;lt; ??[i] &amp;lt;&amp;lt; endl;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: courier new, courier, monospace&quot;&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: courier new, courier, monospace&quot;&gt;&amp;nbsp; &amp;nbsp; // ABC&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: courier new, courier, monospace&quot;&gt;&amp;nbsp; &amp;nbsp; // DEF&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: courier new, courier, monospace&quot;&gt;&amp;nbsp; &amp;nbsp; // GHI&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: courier new, courier, monospace&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: courier new, courier, monospace&quot;&gt;========================================================================&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: courier new, courier, monospace&quot;&gt;========================================================================&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: courier new, courier, monospace&quot;&gt;1. 문자열과 숫자를 더하여 문자열을 반환하는 함수를 작성하시오.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: courier new, courier, monospace&quot;&gt;char* GetNumericAddedString(const char* arg_szValue, int arg_nNum)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: courier new, courier, monospace&quot;&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: courier new, courier, monospace&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: courier new, courier, monospace&quot;&gt;========================================================================&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: courier new, courier, monospace&quot;&gt;2. 문자열에 특정 범위 내의 숫자를 더한 후 배열로 반환하는 함수를 작성하시오.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: courier new, courier, monospace&quot;&gt;?? GetStringArray(const char* arg_szValue, int arg_nBeginIdx, int arg_nEndIdx)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: courier new, courier, monospace&quot;&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: courier new, courier, monospace&quot;&gt;&amp;nbsp; &amp;nbsp; return ??&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: courier new, courier, monospace&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: courier new, courier, monospace&quot;&gt;main(...)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: courier new, courier, monospace&quot;&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: courier new, courier, monospace&quot;&gt;&amp;nbsp; &amp;nbsp; ?? pArr = GetStringArray(&quot;Test&quot;, 0, 7);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: courier new, courier, monospace&quot;&gt;&amp;nbsp; &amp;nbsp; for (int i = 0; i &amp;lt;= 7; i++) {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: courier new, courier, monospace&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; cout &amp;lt;&amp;lt; pArr[i] &amp;lt;&amp;lt; endl;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: courier new, courier, monospace&quot;&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: courier new, courier, monospace&quot;&gt;&amp;nbsp; &amp;nbsp; // Test0, Test1, Test2, ... Test7&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: courier new, courier, monospace&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: courier new, courier, monospace&quot;&gt;========================================================================&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: courier new, courier, monospace&quot;&gt;3. 위 2번에서 반환된 ??의 메모리를 해제하는 코드를 작성하시오.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;FONT-FAMILY: courier new, courier, monospace&quot;&gt;========================================================================&lt;/span&gt;&lt;/div&gt;
&lt;/span&gt;&lt;div class=&quot;entry-ccl&quot; style=&quot;clear: both; text-align: right; margin-bottom: 10px&quot;&gt;
	&lt;img id=&quot;ccl-icon-34-0&quot; class=&quot;entry-ccl-by&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black01.png&quot; alt=&quot;저작자 표시&quot;/&gt;
	&lt;img id=&quot;ccl-icon-34-1&quot; class=&quot;entry-ccl-nc&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black02.png&quot; alt=&quot;비영리&quot;/&gt;
	&lt;img id=&quot;ccl-icon-34-2&quot; class=&quot;entry-ccl-sa&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black04.png&quot; alt=&quot;동일 조건 변경 허락&quot;/&gt;
	&lt;!--
	&lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
		&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
&lt;div class=&quot;blogger-news-widget&quot; style=&quot;width: 100%; text-align: center&quot;&gt;
		  					&lt;embed src=&quot;http://api.v.daum.net/static/recombox1.swf&quot; quality=&quot;high&quot; flashvars=&quot;nid=18568495&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;false&quot; bgcolor=&quot;#ffffff&quot; width=&quot;400&quot; height=&quot;80&quot; type=&quot;application/x-shockwave-flash&quot; wmode=&quot;transparent&quot;&gt;&lt;/embed&gt;
						&lt;/div&gt;&lt;fieldset style=&quot;margin:20px 0px 20px 0px;padding:5px;&quot;&gt;&lt;legend&gt;&lt;span&gt;&lt;strong&gt;크리에이티브 커먼즈 라이선스&lt;/strong&gt;&lt;/span&gt;&lt;/legend&gt;&lt;!--Creative Commons License--&gt;&lt;div style=&quot;float: left; width: 88px; margin-top: 3px;&quot;&gt;&lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;Creative Commons License&quot; style=&quot;border-width: 0&quot; src=&quot;http://i.creativecommons.org/l/by-nc-sa/2.0/kr/88x31.png&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: 92px; margin-top: 3px; text-align: justify;&quot;&gt;이 저작물은 &lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=&quot;_blank&quot;&gt;크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이선스&lt;/a&gt;에 따라 이용하실 수 있습니다.
			&lt;!-- Creative Commons License--&gt;
			&lt;!-- &lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
			&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; /&gt;
			&lt;/Work&gt;
			&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/DerivativeWorks&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/ShareAlike&quot;/&gt;&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;&lt;/License&gt;&lt;/rdf:RDF&gt; --&gt;&lt;/div&gt;&lt;/fieldset&gt;</description>
			<category>C++</category>
			<category>char*</category>
			<category>라이브러리함수</category>
			<category>문자열</category>
			<category>반환</category>
			<category>포인터</category>
			<author>정환나라</author>
			<guid>http://pjh2104.tistory.com/34</guid>
			<comments>http://pjh2104.tistory.com/34#entry34comment</comments>
			<pubDate>Wed, 13 Jul 2011 15:47:39 +0900</pubDate>
		</item>
		<item>
			<title>[C++]상속, 가상함수, 순수가상함수 사용해서 프로그램 작성하기</title>
			<link>http://pjh2104.tistory.com/33</link>
			<description>아래와 같은 상속구조를 갖는 클래스들을 정의하고 이들의 업무를 관리하는 근로자센터 클래스를 구현하시오&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; 사람 &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;|&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; 근로자&lt;br /&gt;
===================&lt;br /&gt;
|&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;br /&gt;
군인&amp;nbsp;&amp;nbsp;&amp;nbsp; 의사&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 개발자&lt;br /&gt;
&lt;br /&gt;
1. 사람 : 이름, 나이를 속성으로 포함&lt;br /&gt;
&lt;br /&gt;
2. 근로자 : 근무지를 속성으로 포함. 업무를 행위로 포함( DoWork() 함수를 정의)&lt;br /&gt;
&lt;br /&gt;
3. 군인 : 병과 (육군/해군/공군)을 속성으로 포함. 행위 수행시 &quot; ~~ 근무지에서 ~~ 병과로 나라를 지키다&quot;&lt;br /&gt;
4. 의사 : 전공(내과/외과 등)을 속성으로 포함. 행위 수행시 &quot;~~ 근무지에서 ~~ 전공으로 환자를 치료하다&quot;&lt;br /&gt;
5. 개발자 : 기술(C++/JAVA 등)을 속성으로 포함. 행위 수행시 &quot;~ 근무지에서 ~ 기술로 개발을 하다.&quot;&lt;br /&gt;
&lt;br /&gt;
[제약사항]&lt;br /&gt;
1. 사람과 근로자는 개별로 생성할 수 없다.&lt;br /&gt;
2, 근로자 센터는 군인, 의사, 개발자 드으이 객체들을 리스트 형태로 관리하며, 기본적으로 Add(...), DoWorkAll(...)함수를 정의해야 한다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
{&lt;br /&gt;
WorkerCerter* pCenter = new WorkerCenter();&lt;br /&gt;
&lt;br /&gt;
~~ pDoctor = new Doctor(&quot;Kim&quot;, 25, &quot;인천&quot; , &quot;내과&quot;);&lt;br /&gt;
~~ pSoldier = new Soldier(&quot;Lee&quot; , 30, &quot;서울&quot;, &quot;육군&quot;);&lt;br /&gt;
~~ pDeveloper = new Developer(&quot;Hong&quot;, 19, &quot;부산&quot;, &quot;C++&quot;);&lt;br /&gt;
&lt;br /&gt;
pCenter-&amp;gt;Add(pDoctor);&lt;br /&gt;
pCenter-&amp;gt;Add(pSoldier);&lt;br /&gt;
pCenter-&amp;gt;Add(pDeveloper)&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
아래 호출시 아래가 출력되어야 함&lt;br /&gt;
나이 25세 kim이 인천 근무지에서 내과 전공으로 환자를 치료하다.&lt;br /&gt;
나이 30세 Lee이 서울 근무지에서 육군병과로 나라를 지키다.&lt;br /&gt;
나이 19세 Hong이 부산 근무지에서 c++기술로 개발을 하다.&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
pCenter-&amp;gt;DoWorkAll();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/////////////////////&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
이렇게 하는게 문제입니다. &lt;br /&gt;
각 클래스는 사람, 근로자, 군인, 의사, 개발자 그리고 근로자 센터 클래스 이렇게 6개가 되겠으며&lt;br /&gt;
사람 클래스와 근로자 클래스는 추상클래스로 객체 선언이 불가능하게 만들어야 합니다.(선언하면 에러나게..무슨뜻인지 아시죠?)&lt;br /&gt;
&lt;br /&gt;
그리고 근로자센터가 이들을 리스트로 연결해서 출력까지 하게 만들어야 합니다.&lt;br /&gt;
또 파일들을 분리해서 작성하세요. main.cpp에 다 넣어서 복잡하게 만들지 마시고 ㅋ&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
일단 개인적으로 만들어 보시고 제가 ㅁ나든것과 비교해 보세요.&lt;br /&gt;
여러분이 더 잘만드셨을껍니다. ㅠㅠㅠ&lt;br /&gt;
&lt;br /&gt;
전 템플릿도 쓰지 않았습니다. 단지 c++로 클래스와 상속, 가상함수 들을 이용한 부분까지만 사용했습니다.&lt;br /&gt;
열공합시다!! ㅋ&lt;div class=&quot;entry-ccl&quot; style=&quot;clear: both; text-align: right; margin-bottom: 10px&quot;&gt;
	&lt;img id=&quot;ccl-icon-33-0&quot; class=&quot;entry-ccl-by&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black01.png&quot; alt=&quot;저작자 표시&quot;/&gt;
	&lt;img id=&quot;ccl-icon-33-1&quot; class=&quot;entry-ccl-nc&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black02.png&quot; alt=&quot;비영리&quot;/&gt;
	&lt;img id=&quot;ccl-icon-33-2&quot; class=&quot;entry-ccl-sa&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black04.png&quot; alt=&quot;동일 조건 변경 허락&quot;/&gt;
	&lt;!--
	&lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
		&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
&lt;div class=&quot;blogger-news-widget&quot; style=&quot;width: 100%; text-align: center&quot;&gt;
		  					&lt;embed src=&quot;http://api.v.daum.net/static/recombox1.swf&quot; quality=&quot;high&quot; flashvars=&quot;nid=18054234&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;false&quot; bgcolor=&quot;#ffffff&quot; width=&quot;400&quot; height=&quot;80&quot; type=&quot;application/x-shockwave-flash&quot; wmode=&quot;transparent&quot;&gt;&lt;/embed&gt;
						&lt;/div&gt;&lt;fieldset style=&quot;margin:20px 0px 20px 0px;padding:5px;&quot;&gt;&lt;legend&gt;&lt;span&gt;&lt;strong&gt;크리에이티브 커먼즈 라이선스&lt;/strong&gt;&lt;/span&gt;&lt;/legend&gt;&lt;!--Creative Commons License--&gt;&lt;div style=&quot;float: left; width: 88px; margin-top: 3px;&quot;&gt;&lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;Creative Commons License&quot; style=&quot;border-width: 0&quot; src=&quot;http://i.creativecommons.org/l/by-nc-sa/2.0/kr/88x31.png&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: 92px; margin-top: 3px; text-align: justify;&quot;&gt;이 저작물은 &lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=&quot;_blank&quot;&gt;크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이선스&lt;/a&gt;에 따라 이용하실 수 있습니다.
			&lt;!-- Creative Commons License--&gt;
			&lt;!-- &lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
			&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; /&gt;
			&lt;/Work&gt;
			&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/DerivativeWorks&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/ShareAlike&quot;/&gt;&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;&lt;/License&gt;&lt;/rdf:RDF&gt; --&gt;&lt;/div&gt;&lt;/fieldset&gt;</description>
			<category>C++</category>
			<category>C++</category>
			<category>가상함수</category>
			<category>상속</category>
			<category>순수가상함수</category>
			<category>클래스</category>
			<author>정환나라</author>
			<guid>http://pjh2104.tistory.com/33</guid>
			<comments>http://pjh2104.tistory.com/33#entry33comment</comments>
			<pubDate>Tue, 28 Jun 2011 09:28:28 +0900</pubDate>
		</item>
	</channel>
</rss>

