본문 바로가기

Programming/C & C++

(29)
[C/C++] 구조체 동적 배열 할당 및 재할당 POINT* ptArray; //구조체로 정의 된 변수 ptArray = (POINT*)malloc(sizeof(POINT)*200); //구조체 동적 할당 memset(ptArray, 0x00, sizeof(POINT)*200); //할당 된 영역을 0으로 초기화 ptArray = (POINT*)realloc(ptArray, sizeof(POINT)*count); //할당 된 동적 구조체 재할당
[C/C++] BSTR to char and char to BSTR (BSTR, char 간 변환) #include // BSTR to char ///////////////////////////////////////////////// void BSTRtoCHAR(char *Msg[], const BSTR conv) { USES_CONVERSION; strcpy( *Msg, OLE2T(conv) ); } //char to BSTR ///////////////////////////////////////////////// void CHARtoBSTR( BSTR *Msg, const char *conv ) { USES_CONVERSION; *Msg = T2OLE(conv); // *Msg = SysAllocString( A2W(conv) ); }
[C,C++] 문자열 나누기(자르기) strtok 예제 (배열에 저장) 문자열을 나눈 후 나눈 값을 배열에 저장 int main(int argc, char **argv) { FILE *fp_out ; char buf_in[255]; int TestX[10]; int TestY[10]; char *pToken = NULL; char *pSeparator = " "; int count =0, num= 0 ; fp_out = fopen("Test.txt", "r"); while(fgets(buf_in, 255, fp_out) != NULL){ pToken = strtok(buf_in, pSeparator); num = atoi(pToken); TestX[count] = num; pToken = strtok(NULL, pSeparator); num = atoi(pToken); Te..
[C/C++] 파일에 정수 쓰기, 읽기 1] 파일에 정수 쓰기 (문제) 28, 34, 35, 43을 파일 "4num.txt"에 써라 - 형식 : fprintf(stream, "%d%d%d%d",a,b,c,d); #include FILE *fi; main(){ int a=28,b=34,c=35,d=43; fi=fopen("4num.txt","w"); fprintf(fi,"%d%d%d%d",a,b,c,d); fclose(fi); } 2] 파일에서 정수 읽기 (문제) 위 파일에서 4개의 수 읽기 #include FILE *fr; main(){ int e,f,g,h; clrscr(); fr=fopen("4num.txt","r"); fscanf(fr,"%d%d%d%d",&e,&f,&g,&h); /*scan은 포인터주소를 찾으므로 &를 붙여야한다*/ f..
[C/C++] 구조체배열(Structure Array)의 바이너리 파일 입출력 구조체배열(Structure Array)의 바이너리 파일 입출력 //파일 ---> 구조체 void readFileTheater(theater* th) { FILE* fp; fp = fopen("THEATER_FILE", "rb"); for(int i=0;i 파일 void writeFileTheater(theater* th) { FILE* fp; fp = fopen("THEATER_FILE", "wb"); for(int i=0;i
[C/C++] 삼항 연산자 삼항연산자는 if ~ else 보다 간결히 표현할 때 사용하는 연산자 이다. 삼항연산자의 사용법은 다음과 같다, 조건 ? A : B 조건이 true인 경우 A를, False인 경우 B를 반환한다.
isdigit() 문자가 숫자 문자인지를 판별 인수로 받은 문자가 숫자 문자인( '0'~'9')지를 판별합니다. 헤더 ctype.h 형태 int isdigit( int c) 인수 int c 판별할 문자 반환 0 != c가 숫자 문자, '0'~'9' 0 = c는 숫자 문자가 아님 예제 #include #include int main( void) { int ch1 = '1'; int ch2 = 'a'; int ch3 = 256; // 아스키값 이상 if ( isdigit( ch1)) printf( "%c(x%03x)는 숫자 문자입니다.\n", ch1, ch1); else printf( "%c(x%03x)는 숫자 문자가 아닙니다.\n", ch1, ch1); if ( isdigit( ch2)) printf( "%c(x%03x)는 숫자 문자입니다.\n", c..
strtol() 정수 문자열을 진수 선택하여 정수로 변환 숫자 문자열을 long형 숫자로 변환합니다. atoi()나 atol()과는 달리 (1) 변환하려는 진수를 선택할 수 있으며, (2) 숫자 문자가 아닌 문자를 만나면 그 포인터 위치를 구해 줍니다. 예로, "1000secrys" 을 호출하게 되면, char *str; char *ptr; long value; str = "1000secrys"; value = strtol( str, &ptr, 10); value에는 2007이 들어 가고 ptr에는 숫자로 변화하지 못하는 문자열의 시작 위치를 구해 줍니다. 만약 NULL을 넘겨주면 시작 위치를 구하지 않습니다. 헤더 stdlib.h 형태 long strtol(const char *restrict str, char **endptr, int base); 인수 ch..

반응형