본문 바로가기

VisualStudio.C++.C#/코딩팁,함수활용,단편   ( 155 )


ASCII 코드. ASCII printable code chart Binary Oct Dec Hex Glyph 010 0000 040 32 20 (space) 010 0001 041 33 21 ! 010 0010 042 34 22 " 010 0011 043 35 23 # 010 0100 044 36 24 $ 010 0101 045 37 25 % 010 0110 046 38 26 & 010 0111 047 39 27 ' 010 1000 050 40 28 ( 010 1001 051 41 29 ) 010 1010 052 42 2A * 010 1011 053 43 2B + 010 1100 054 44 2C , 010 1101 055 45 2D - 010 1110 056 46 2E . 010 1111 057 47 2F / 011 .. 2015. 9. 1.
배열 초기화. 2차원 배열 초기화 m x n 의 2차원 배열의 모든 요소(element) 를 지정된 값으로 초기화하려면 아래와 같다. 예. 2 x 3 (2행 3열) 정수형 배열이 있고, 아래 표 처럼 초기화 하고 싶다면, int Array[2][3] = {{1,2,3},{4,5,6}}; 로 초기화 하면 된다. 인덱스 0열 1열 2열 0행 1 2 3 1행 4 5 6 기타 규칙. 1. 초기화 값이 누락된 것은 0으로 초기화 됨. 예 : int Array[2][3] = {{1,2}}; 인덱스 0 1 2 0 1 2 0 1 0 0 0 2. 중괄호 1개만으로 초기화 가능. 예 : int Array[2][3] = {1,2,3,4,5,6}; // int Array[2][3] = {{1,2,3},{4,5,6}}; 와 동일함. 예 : .. 2015. 7. 7.
VC++ 타이틀바에 보이는 프로그램 이름 변경. VC++ 프로젝트로 만든 프로그램 타이틀바에 보이는 이름 변경하는 법. CMainFrame 의 PreCreateWindow에 아래 파랑색 코드 추가하면됨. BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs) { if( !CFrameWnd::PreCreateWindow(cs) ) return FALSE; // TODO: Modify the Window class or styles here by modifying // the CREATESTRUCT cs cs.style &= ~FWS_ADDTOTITLE; // 이설정을 해야 타이틀 변경 가능해짐. cs.lpszName = "내프로그램임"; return TRUE; } 대화상자의 타이틀 설정. ::OnInitDialog().. 2015. 6. 6.
다른 프로그램과 메모리공유 - 메모리 맵 파일. 개요 다른 프로그램(프로세스)들이 동일한 메모리를 고유하는 "메모리맵파일(=공유메모리)" 활용법 정리. 요점. 1. ::CreateFileMapping 으로 공유메모리 생성. ::OpenFileMapping 으로 이미 생성된 공유메모리 열기.2. ::MapViewOfFile 로 상기1의 공유메모리 포인터 받아서 데이터 읽기,쓰기. CreateFileMapping Creates or opens a named or unnamed file mapping object for a specified file.To specify the NUMA node for the physical memory, see CreateFileMappingNuma.SyntaxC++Copy HANDLE WINAPI CreateFileMap.. 2015. 6. 6.
다른 프로그램과 메시지 송수신 - FindWindow이용 대상윈도우핸들로 직접 전송. 개요 서로 다른 프로그램간의 메시지 송수신을 위하여 메시지 전송대상 윈도우 핸들을 함수 FindWindow 이용하여 확보하고 메시지 전송하는 방법 정리. 간단히 2단계로 이뤄진다. 1. FindWindow 로 메시지 타겟 윈도우 핸들 받기. 2. 1에서 확보된 윈도우 핸들로 SendMessage/PostMessage 함수 이용 메시지 전송. 타 방법 비교 : 다른 프로그램간의 메시지 송수신 방식중 RegisterWindowsMessage 함수 이용하는 방식(보기 -> http://igotit.tistory.com/318 ) 대비 본 글에서의 설명하는 방식이 고속/즉시 전송이 가능하다. 구현코드예 메시지 전송할 프로그램을 A, 수신처리할 프로그램을 B라고 하면 각각의 프로그램엔 아래와 같은 구조로 코딩되면.. 2015. 6. 6.
다른 프로그램과 메시지 송수신. - RegisterWindowMessage 개요 보통 메시지(SendMessage, PostMessage) 는 1개의 프로그램내에서 주로 사용되나, 서로다른 프로그램간에도 메시지 송수신 가능하다. 본 글에서는 다른 프로그램간의 메시시 송수신 방법 정리한다. 구현방법 요점. 2개의 프로그램이 있다고 하고, 각각을 A, B 라고 하자. 메시지 전송함수 SendMessage/PostMessage 모두 사용가능하며 본 글에서는 SendMessage 를 예로 보이나, 설명중의 SendMessage는 PostMessage 로 대치가능하다. 1. A,B 모두에 RegisterWindowMessage 함수 호출한다. - 메시지를 등록하는 함수이며 이렇게 등록된 메시지는 다른 프로그램으로도 전달가능하다. - 함수의 인자로 임의 문자열을 기록하는데, 이 문자열이 .. 2015. 6. 5.
Virtual-Key Codes. VC++ VC++ 에서 마우스나 키보드 이벤트 핸들러 함수 인자로 virtual key code 가 전달되며, 아래 리스트와 같다. Constant/value Description VK_LBUTTON 0x01 Left mouse button VK_RBUTTON 0x02 Right mouse button VK_CANCEL 0x03 Control-break processing VK_MBUTTON 0x04 Middle mouse button (three-button mouse) VK_XBUTTON1 0x05 X1 mouse button VK_XBUTTON2 0x06 X2 mouse button - 0x07 Undefined VK_BACK 0x08 BACKSPACE key VK_TAB 0x09 TAB key - 0x0A.. 2015. 1. 19.
키보드 입력처리. VC++ MFC 이용하는 경우. VC++ MFC기반의 키보드 입력처리. 1. 클래스 위저드 에서 메시지 선택을 WM_KEYDOWN(키를 누른 경우 발생하는 메시지) 이나, WM_KEYUP(눌렀던 키를 놓았을때 발생하는 메시지) 을 선택하여 핸들러 함수를 추가한다. 아래 코드예는 VC++2010 에서 CMyView 클래스에 WM_KEYDOWN 메시지 핸들러를 추가한 경우 자동 생성된 코드. void CMyView::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags) { // TODO: 여기에 메시지 처리기 코드를 추가 및/또는 기본값을 호출합니다. CView::OnKeyDown(nChar, nRepCnt, nFlags); } 2. 위 메시지 핸들러는 모든 키에서 전부 실행되는 구간이므로 특정키에서만 처.. 2015. 1. 19.
동적 메모리 할당. 변수,배열, new delete C++에서 new 이용하여 동적 메모리 할당하는 것 정리. 일반변수 동적 생성 및 제거. int* p; // int형의 포인터 변수선언. p = new int; // 동적생성함. *p = 234; // 변수사용예. . delete p; // 동적할당한 메모리 제거. p=NULL; // delete p; 는 메모리 공간을 제거했을뿐. 포인터 변수 p가 가리키는 주소는 남아있는 상태다. 이것까지 제거해둠. 1차원 배열 동적 생성 및 제거. - 250개의 정수형배열을 동적생성하는 예. int* p; // 포인터 변수 선언. p = new int[250]; // int형으로 배열크기 250 인 메모리 공간 할당했음. p[240] = 350; // 변수사용예. delete[] p; // 동적할당한 메모리 제거. .. 2015. 1. 17.
스레드 생성 방법 및 다중스레드 사용위한 필수 옵션 셋팅. VC++ 1. VC++ 에서 스레드 생성 VC++ 에서 스레드를 생성하는 방법은 5가지 방식이 있다. 1. WIN32 API 스레드 생성 함수 : CreateThread 2. C run time library 에서의 스레드 생성 함수 : _beginthreadex, _beginthread - _beginthreadex 가 _beginthread보다 많이 사용됨. - _beginthreadex 와 _beginthread 함수 내부에서는 상기1의 CreateThread 함수가 사용되고 있음. 3. C++ 클래스 형식의 스레드 생성 : 스레드 함수를 포함하는 클래스 형식으로 제작. - 상기 2의 함수를 C++에서 클래스 내에 포함시키는 형식으로 만드는 것을 의미한다. 결국 2를 클래스에서 사용하는 것을 의미함. - 스.. 2015. 1. 10.
GetLastError 표현하기, 프로세스 죽이기.VC++ Retrieving the Last-Error Code When many system functions fail, they set the last-error code. If your application needs more details about an error, it can retrieve the last-error code using the GetLastError function and display a description of the error using the FormatMessage function. The following example includes an error-handling function that prints the error message and terminates the p.. 2015. 1. 10.


 

비트코인




암호화폐       외환/나스닥/골드       암호화폐/외환/나스닥/골드 암호화폐/외환/나스닥/골드   암호화폐/외환/나스닥/골드
     
현물 |선물 인버스 |선물 USDT       전략매니저(카피트레이딩)     롤오버 이자 없는 스왑프리계좌
( 스왑프리 암호화폐도 거래 가능 )    
MT4, MT5 , cTrader 모두 지원     FTMO 계좌 매매운용. MT4,MT5