Programming
-
주민등록번호 검증(검사) 소스Programming/C,C++,C# 2007. 12. 18. 00:18
주민등록번호는 13자리로 구성이 되어 있습니다. 123456 - 1234567 위와 같이 앞자리 6자리는 생년월일 이고 뒷자리 첫번째는 성별입니다. ( 홀수는 남성, 짝수는 여성 ) 그리고 2번째부터 5번째 4개의 숫자는 자신이 태어난 지역코드인데 이것은 현재 보안상비밀이라고합니다. 그리고 6번째는 자신이 태어난 날 해당지역에서 몇번째로 태어났는지, 즉 해당지역에서 그날 몇번째로 태어난 아기인지를 알 수 있습니다. ( 더욱 자세히 얘기하자면 같은 성씨중 .. 즉, 자신이 김씨이고 번호가 2라면 해당지역에서 해당일에 태어난 김씨중 2번째로 태어난 아기가 되는것이죠... ) 그리고 마지막 13번째 숫자가 올바른주민등록번호인지를 판별하는 검증번호가 됩니다. 검증방법은 사실 굉장히 간단합니다. 예) 주민번호 :..
-
[DSApi WebServer Filter] AllocMem으로 할당한 메모리는 언제까지 유지될까?Programming/Etc. 2007. 12. 6. 12:50
도미노 서버 필터로 한개의 리퀘스트가 들어오면 보통 아래의 순서대로 이벤트를 호출한다. kFilterRawRequest kFilterParsedRequest kFilterAuthUser (kFilterAuthenticate) kFilterUserNameList kFilterMapURL kFilterAuthorized kFilterResponse kFilterRawWrite kFilterEndRequest 위의 이벤트중 한군데에서 할당을 했으면 EndRequest이벤트가 호출된 후에는 할당된 메모리는 자동으로 소멸된다.
-
자기자신을 삭제하는 실행파일 만들기Programming/WINAPI 2007. 12. 4. 22:53
uninstall시 unsintall.exe 자기 자신은 어떻게 지우는걸까?? 방법이 여러가지 있는것으로 알고 있습니다만.. 최대한 단순한 방법이라고 생각하고 올려봅니다. 지금 소개되는 방법은 실행파일내부에서 실행파일을 삭제하는 batch파일을 만들어 그 batch파일이 실행파일을 삭제하도록 하는 방법입니다. ──────────────────────────────────────────────────── #include void Kill() { FILE *fp = NULL; // batch파일명 char* killer = "killfile.bat"; // 실행파일명 char* thisFile = "SelfDelete.exe"; char szBatFile[256]; // batch파일을 생성합니다. fp =..
-
DSAPIProgramming/Etc. 2007. 12. 4. 19:25
#if defined(OS400) && (__OS400_TGTVRM__ >= 510) #pragma datamodel(P128) #endif /* ***************************************************************** */ /* */ /* Licensed Materials - Property of IBM */ /* */ /* L-GHUS-6VALH4, L-GHUS-6VALHG */ /* */ /* Copyright IBM Corp. 2000, 2006 All Rights Reserved. */ /* */ /* US Government Users Restricted Rights - Use, duplication or */ /* disclosure restric..
-
Win32API - 투명윈도우 만들기 (SetLayerdWindowAttributes)Programming/WINAPI 2007. 11. 27. 21:36
win32api 중에 윈도우의 속성을 투명하게 해주는 함수가 있습니다. 그 함수이름은 SetLayerdWindowAttributes로 user32.dll에 포함되어 있습니다. 근데 이 함수는 명시적으로 호출을 해줘야하는 관계로 좀 복잡한 단계를 거쳐야지 사용할 수가 있다. 그래서 클래스로 만들었습니다.. 사용법은 CJKWinGdi::SetTransparentWindow(hWnd, 80, RGB(255,0,0); 또는 CJKWinGdi win; win.SetTransparentWindow(hWnd, 70); static으로 선언되었기때문에 따로 클래스를 선언하지 않으셔도 됩니다. 첫번째인자는 투명처리할 윈도우의 핸들 두번째인자는 투명도( 0 완전투명 ~ 100 불투명) 세번째인자는 투명하게 처리할 색상입니..
-
strcpy 함수를 만들어보자Programming/C,C++,C# 2007. 11. 26. 12:37
문자열을 복사할때 사용하는 strcpy 정말 많이 사용하는 함수입니다. ------------------------------------------------------------------------------------ char* myStrcpy(char* destStr, const char* srcStr) { int cnt = 0; while(srcStr[cnt] != 0) { destStr[cnt] = srcStr[cnt]; cnt++; } return destStr; } ------------------------------------------------------------------------------------ 문자열의 마지막은 항상 NULL ( 0 )으로 끝난다는 점을 이용하여 만든것..
-
strlen 함수를 만들어보자Programming/C,C++,C# 2007. 11. 25. 23:58
strlen함수는 문자열의 길이를 구하는 함수입니다. 문자열은 아시다시피 맨끝에 NULL ( 0 )값이 들어갑니다. strlen은 문자열의 처음부터 NULL이 위치한 곳까지를 세는것이죠.. int myStrlen(char* str) { int length = 0; while(str[length] != 0) length++; return length; } 위처럼 아주 단순한 내용입니다. str이라는 문자열을 받아 str[length]번째가 NULL이 아닐때까지 문자의 갯수를 세는것입니다. [프로그래밍/C/C++] - strcpy 함수를 만들어보자
-
로또번호 생성기Programming/C,C++,C# 2007. 11. 21. 12:57
#include #include #include void main() { int lotto[6]={0,}; // 6개의 로또번호가 들어갈 배열 int count = 0; // 생성한 로또번호의 갯수 srand(time(NULL)); // 랜덤값 추출 // 6개의 로또번호를 추출할때까지 반복 while(count < 6) { int mFlag = 1; int number = 0; int i=0; // 1 ~ 45 사이의 로또번호를 얻는다. number = rand()%45+1; // 중복되는 로또번호가 있는지 확인한다. for(i=0; i