프로그램의 솔루션 디렉토리를 선택 하면 해당 프로그램에 들어간 소스의 라인 수를 계산하여 출력해 주는 프로그램. 현재 c, cpp, h, java, cs, py 확장자만 지원한다. 소스는 너무 간단해서.. 걍 대충 주석써서 올리겠음. void CCodeLineSearcherDlg::FindLine( int &nTotalLine, CString strPath ) { CFileFind finder; finder.FindFile( strPath ); int res = 1; while( res ) { res = finder.FindNextFile(); if( ( m_bC && finder.GetFileName().Right(2) == _T(".c") ) || ( m_bCPP && finder.GetFileNam..
C, C++ 에서는 프로그램 실행시 명령 인자를 받을 때 argv를 통해서 쉽게 받아 올 수 있다. MFC에서는 어떻게 얻어올까? GetCommandLine(); 을 쓰면 얻어 올 수 있다. 백문이 불여일견. 한번 테스트 직접 해보시길. 그리고 아래는 인자를 쫙 얻어오는 예제 소스. 띄어쓰기(공백)이 제대로 분리 됐는지 확인 하기 위해 출력 시에 @를 시작과 끝에 붙여서 출력 시켰다. 파싱은 알아서 하면 됨. LPSTR pszArgv = GetCommandLine(); CString strArgv = pszArgv; int nFirstSpace = strArgv.Find( _T(" ") ); CString strFirstArgv = strArgv.Mid( nFirstSpace + 2 ); AfxMessa..
Registry read, write. 레지스트리를 입력하거나 읽을려면 RegSetValueEX, RegQueryValueEx등을 써야하는데 들어가는 인자 셋팅하는게 귀찮다. 따라서 다음과 같이 쉽게 쓰도록 만들어주면 좋다. 우선 쓰기. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /// Registry에서 string value 쓰는 함수. /// ///@param[in]hKey쓸 값이 존재하는 키, { HKEY_LOCAL_MACHINE, HKEY_CLASSES_ROOT, ...} 등의 값 사용. ///@param[in..
딱 떨어지는 숫자는 2진수입니다. 한 손으로 31까지 셀 수 있음 만능이 아님 "컴퓨터"를 잘 하는게 아님 프로그래머라고 Office 시리즈에 정통한 것이 아님 아, 그 작업은 사무쪽 누님이 잘하실 겁니다. 가나 입력으로 변환한 다음에는 반드시 로마자 입력으로 돌려놓을 것 프로그램의 쓰레기 수집은 잘 하지만 자기 방의 쓰레기 수집은 잘 못함 멀티스레드 처리 작성은 할 수 있지만 멀티스레드 처리는 못함 Amazon 에서 사는 건 기술서이므로, 딱히 포장물 내용을 확인할 필요는 없음 쌓아놓은 책은 스택이므로 순번을 바꾸지 말것 오라일리 책은 「같은 책」이 아님 표지에 동물만 그려져 있는 책만 꽂혀있어도 그건 동물도감이 아님 프로그래밍을 안하는 날도 있음 프로그래밍 언어나 에디터에 대한 집착이 사라진다면 깨달..
멀티바이트와 유니코드간의 교환! 문제 : LoadString이 이상한 문자를 읽어와요 rc의 StringTable에 있는 스트링을 읽어 오려면 기본적으로 LoadString을 사용 한다. 이 LoadString은, rc파일의 인코딩이 한글(euc-kr, cp949)일 경우, 한글 윈도우에서 한글을 읽어 오는 것은 문제가 되지 않는다. 마찬가지로 인코딩이 일본어(shift_jis, cp932)일 경우, 일본 윈도우에서 일본어를 읽어 오는 것은 문제가 되지 않는다. 하지만 나는 매우 특별한 상황에 쳐하였으니 -.-;; cp949로 인코딩 된 일본어(Japanese)를 일본OS에서 불러와야 하는 상황이 발생 하였다. 현재 사용하는 프로그램이 멀티바이트로 작성 돼 있다는 점을 명심하고, 우선 StringTabl..
우와.. 이번에 멀티바이트랑 유니코드랑 수 없이 교환시키는 작업을 하면서 인코딩에 대한 이해가 많이 는 것 같다.. 유니코드는 2바이트로 이 세상의 모든 언어를 표시 할 수 있는 그런 놈이다. 이건 알고 아래 글을 읽도록 하자 후후. 일단 UTF-8이 널리 쓰이는 이유에 대해 설명을 간략이 들여보자. UTF-8은 멀티바이트이다. 65536개의 문자를 사용하는 캐릭터셋은 유니코드의 캐릭터셋을 사용하지만 유니코드는 무조건 1글자에 2byte씩이다. 그걸 1~4byte의 가변길이로 인코딩하는 방식이 UTF-8이다.(그래서 CP_UTF8을 멀티바이트 변환 상수에서 찾을 수 있음.) (캐릭터셋이라 하면 유니코드가 나타낼 수 있는 모든 문자를 말함) UTF-16이랑 32같은 놈들도 있지만 자주 쓰이는건 UTF-8이..
///////////////////////////////////////////////////////////////////////////// UNICODE PRIVATE FAQ 0.1 (2004.08.03) by redhotfrog@naver.com ---------------------------------------------------------------------------- A000 : character set, code set, encoding, codepage가 뭡니까? A001 : MBCS, SBCS, DBCS가 뭡니까? A002 : i18n, l10n이 뭡니까? A003 : 유니코드가 뭡니까? A004 : 유니코드 UCS2에서 UTF8로 변환은 어떻게 하나요? A005 : windows ..
현재 다루고 있는 프로그램은 캐릭터 표현에 있어서 멀티 바이트를 사용한다. 따라서 OS에 따라서 언어 인코딩 방식이 달라진다... 영어만 생각한다면 큰 문제가 없을텐데 일본어 버전 OS에서는 큰 문제가 발생 하더라. 특히 LoadString 매크로 함수에서 가장 큰 문제가 발생 한다. euc_kr로 인코딩 돼있는 리소스(.rc) 파일을 한글 윈도우에서 컴파일 하여 일본 os에서 실행 하는 경우 일본어가 들어있을 때, LoadString이 일본어를 읽어오질 못한다. 곰곰히 생각해보니 일본어 윈도우에서는 LoadString 함수가 shift_jis (cp932) 로 읽어와서 컨버팅 하는 것 같다. 현재 이런 저런 시도를 일주일 째 하고 있지만 차도가 보이질 않는다.. 유니코드와 멀티바이트: http://jh..
- Total
- Today
- Yesterday
- Python
- NDK
- algorithm
- MFC
- linux
- API
- it
- C++
- db
- Cloud
- C
- database
- java
- 드라이버
- AWS
- Quiz
- source
- winapi
- 리눅스
- 프로그래밍
- android
- jni강좌
- jni
- Visual C++
- gcc
- driver
- Troubleshooting
- 음악
- 안드로이드
- kering
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |