일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- SDK
- 델파이
- 데이터베이스
- 셋업
- 파라미터
- vb
- dll
- 소니
- MySQL
- Visual Studio 2005
- PostgreSQL
- 초보
- 예제
- SQL
- VB.NET
- Visual Basic
- WIN32 SDK
- Delphi
- 기초
- 파이어버드
- c#
- 설치
- 문자열
- xml
- MFC
- 시리얼 통신
- winsock
- 입문
- Firebird
- 인스톨
- Today
- Total
목록C++ TIP (10)
프로그래밍 노트
함수의 고무줄 파리미터 초간단 예제 #include #include void testit ( int i, ...) { va_list argptr; int n; // 가변 인수 수의 초기화 va_start(argptr, i); if ( i == 5 ) { for(int j = 0; j < i; j++) { // 다음 인수 얻기 n = va_arg( argptr, int ); printf( "%d\n", n ); } } else { char *s = va_arg( argptr, char* ); printf( "%s\n", s); } // 가변 인수 수의 리셋 va_end(argptr); } int main() { testit( 5, 12, 34, 56, 78, 90 ); testit( 1, "TEST" );..
리스트 구조를 파일에 쓰고 읽는 예제이다. 나는 머리가 안좋아서 그런지 리스트 구조가 깨끗하게 이해가 안된다. -.-;; // 리스트 구조 파일 #define DEBUG #include #include // 키 // -------------------------------------------------- typedef int key; // 키 입력 int input_key(char *szDisp, key *pKey) { printf("%s", szDisp); if(scanf("%d", pKey) != 1) return 0; // 입력 에러 return (*pKey > 0); // 입력 코드 양수 체크 } // 키 비교 int compare_key(key KeyA, key KeyB) { return (K..
일반적으로 파일을 열고 문자를 파일의 처음부터 순차적으로 읽지만 랜덤 억세스를 하면 처음부터나 파일을 억세스하거나 임의의 위치에서 부터 파일을 억세스할 수 도 있다. #include struct stRec { int iNo; char szName[20]; }; void main() { int i; FILE *fp; stRec stMyRec; char szNameData[10][20] = {"aa", "bb","cc", "dd", "ee", "ff", "gg","hh", "ii", "jj"}; // 파일에 구조체 쓰기 fp = fopen("MyFile.txt", "w"); for(i = 1;i = max_no || no
callback함수 프로그램에서 호출한 함수가 실행중에 실행하도록 먼저 지정해둔 함수 호출한 함수의 인수로서 콜백함수에 참조 정보를 넘겨둠으로 초출한 함수에서 임의의 콜백 함수를 실행시켜 콜백 함수에 실행 제어를 옮길 수 있다. 전화를 상대에게 한번 걸어서 전화번호만 알려주고 전화를 끊은 후, 상대방이 다시 전화를 걸어주는 것과 비슷함으로 콜백이라는 이름이 붙었다. 콜백 함수는 부른 곡에서 어떤 이벤트가 발생한 경우 처리를 지정할 목적으로 쓰는 경우가 많다. 콜백 함수를 쓰면 이벤트의 발생을 감지하기 위한 처리와 그 이벤트를 일어났을 때, 실행할 각각의 처리를 나누어서 코딩할 수 있다. C/C++에서는 함수 포인터를 불러 함수에 인수를 넘겨주는 것으로 콜백 함수가 움직인다. C/C++이 아닌 다른 언어에..
#include #include "헤더파일명" 헤더 파일을 include할 때는 위의 두가지 방법을 쓴다. 이 두 방법은 헤더 파일을 검색하는 순서에 차이가 있다. #include 컴파일러의 라이브러리 폴더를 검색 (라이브러리에 정의된 헤더파일을 포함할 때) #include "헤더파일명" 현제 소스가 존재하는 폴더를 첨에 검색하고 찾는 파일이 없을때 라이브러리 폴더를 검색한다. 주로 사용자가 정의한 헤더파일을 포함할때 사용한다. (라이브러리에 정의된 헤더파일을 포함할 때 써도 특별히 문제는 없다.)
type (형) 인수의 형을 지정 d int값을 부호있는 10진수로 출력 i d와 같음 u int값을 부호없는 10진수로 출력 X int값을 부호없는 16진수로 출력 10~15은 'A'~'F'로 표시 x int값을 부호없는 16진수로 출력 10~15은 'a'~'f'로 표시 o int값을 부호없는 8진수로 출력 p 포인터값을 16진수로 출력 s 문자열 출력 c int값을 문자로 출력 C c와 같음 f double값을 소수로 출력 (예:12.566371) e double값을 지수로 출력 (예:1.256637e+001) E e와 같음 'e'가 'E'로 표시 (예:1.256637E+001)。 g 숫자값의 크기에 따라 f나 e로 출력 (예:12.5664、2.99792e+008) 숫자값의 절대치가 너무 커서 pre..
아스키 코드의 16진수값을 보면 대문자와 소문자의 값이 0x20이 차이난다. 이것을 이용하면 간단하게 대문자에서 소문자로 소문자에서 대문자로 바꿀수 있다. 문자 코드 10 16 @ 64 0x40 A 65 0x41 B 66 0x42 C 67 0x43 D 68 0x44 E 69 0x45 F 70 0x46 G 71 0x47 H 72 0x48 I 73 0x49 J 74 0x4a K 75 0x4b L 76 0x4c M 77 0x4d N 78 0x4e O 79 0x4f P 80 0x50 Q 81 0x51 R 82 0x52 S 83 0x53 T 84 0x54 U 85 0x55 V 86 0x56 W 87 0x57 X 88 0x58 Y 89 0x59 Z 90 0x5a [ 91 0x5b \ 92 0x5c ] 93 0x5d..
숫자의 아스키 코드 0 48 0x30 1 49 0x31 2 50 0x32 3 51 0x33 4 52 0x34 5 53 0x35 6 54 0x36 7 55 0x37 8 56 0x38 9 57 0x39 위의 코드표를 보면 알겠지만 숫자의 아스키코드의 16진수를 보면 16진수의 뒷자리의 숫자와 숫자가 일치한다. 이것을 이용해서 숫자의 아스키 코드를 얻어오는 함수를 만들 수 있다. #include "stdio.h" // 숫자의 아스키 코드 얻기 void NumberToAsciiCode(int &nNum) { nNum = nNum | 0x30; } void main() { int nNum = 3; NumberToAsciiCode(nNum); }
ASCII 코드 컴퓨터는 문자를 문자 그래도 인식할 수 없다. 그래서 숫자나 문자를 각각 0에서 127번호에 연관시켜 관리하고 있다, 이렇게 정해진 각 숫자나 문자에 대한 것을 국제 표준 표로 한 것이다. ----------------------- ----------------------- ----------------------- 알기는 알아도 어렴풋이 아는 것을 한번 적어봤다.
웹에서 파일을 다운로드하려면 어떻게 해야되나 궁금했는데 아래같이 하면 간단하게 웹에 올라온 파일들을 다운로드 받을 수 있다. getFileFromHttp("http://tattertools.com/ko/tistoryBanner01.gif", "tistoryBanner01.gif"); 이미지 파일을 다운 받으려면 어떻게 해야되는지 몰라서 한참 해맸다. URL에는 파일명까지 들어가야된다. 그리고 저장할 파일의 이름을 지정한다. 특정 폴더에 파일을 저장하려면 저장할 파일에 패스를 입력하면된다. 예를 들어 URL을 이렇게 주고 "http://wwwi.tistory.com/" 저장할 파일을 "test.html"로 주면 http://wwwi.tistory.com/의 첫페이지가 test.html로 저장된다. ====..