자바 개발자들은 문자열 다룰때 그냥 + 연산자 쓰면 문자열끼리 붙었고 문자열 쓰기도 쉬웠다. 그러나 c언어는 자바나 php등의 언어에 비해 문자열 다루기가 다소 까다롭다. 그 이유는 문자열은 배열로 처리해야 하기 때문에 문자열에 필요한 작업은 배열요소를 일일히 참조해야 한다. 자바 개발자들은 짜증이 나겠지만 그래도 어떻겠나. c언어 하려면 적응해야지.. 우선 c언어에 "apple" 이라고 있으면 문자열 맨 끝에 널문자('\0')가 같이 저장되어 있는다. 즉, 'a' 'p' 'p' 'l' 'e' '\0' 이런식으로 메모리 어디엔가 저장되어 있다. 그래서 char app[5]="apple"; //배열 선언과 동시에 초기화 가능하다. char app[5]; app="apple"; 이거는 안된다. 배열명 app..
typedef struct{ char a[8]; char b[8]; char c[8]; }A_H; void test2(A_H *a); void test(A_H *a){ printf("a at test=[%s]\n",a); test2(a); //이미 a는 포인터 변수이기 때문에 함수 호출시 파라미터로 그냥 써준다. } void test2(A_H *a){ printf("a at test2=[%s]\n",a); } int main(int argc, char* argv[]){ A_H a_h; memset(&a_h,0x00,sizeof(A_H)); memcpy(a_h.a, "abcdabcd",8); memcpy(a_h.b,"1234567",7); printf("a_h=[%s]\n",&a_h); test(&a_h)..
c언어를 하다보면 외부기관과 전문통신을 할 경우가 생긴다. 외부기관과의 통신하는 방법은 여러가지가 있다. 메시지 교환 형식은 soap, xml, json 등등.. c언어 특히 금융기관에서 자주 쓰이는 방식은 전문 통신 즉, 캐릭터(char)를 쫙~ 붙여서 만들어 tcp/ip 소켓통신으로 메시지를 주고 받는다. json이나 xml은 key,value 방식이라 key만 봐도 대출 value가 의미하는것을 안다. 그러나 전문통신은 char가 쫙~ 붙어있는 방식이라 전문 설계 레이아웃 문서(보통 엑셀형식)가 없으면 전문내용 파악이 불가능 하다. 그래서 보안이 중요시된 금융권에서는 사람이 보기 힘들어도 이러한 전문 통신을 고수하는것 같다. 예전 부터 이렇게 하고 있었던것도 있을 수 있고... 그래서 샘플 소스를 ..
자바개발자들이 c를 할때 가장 황당한게 String 변수형이 없어서일 것이다. 그럼 스트링을 리턴하는 함수를 어떻게 만들지?? 자바 같으면 간단히 스트링 변수를 리턴하면 되는데 c는 그렇지가 않다. 아래와 같이 포인터를 리턴해야 한다. 먼저 프로토타입을 선언한다. char * GetDateMonthAgo(); int main(argc,argv) int argc; char *argv[]; { printf("1달전=[%s]\n",GetDateMonthAgo()); } char * GetDateMonthAgo(){ $char monthago[100]; $database db명; $select monthago into :monthago from 테이블명; return &monthago; //이런식으로 포인터를 ..
간접멤버참조연산자(->)는 구조체 포인터변수로 그것이 가리키는 구조체변수의 멤버를 참조할 때 사용한다. 연산자의 왼쪽에는 구조체 포인터변수를 사용하고 오른쪽에는 구조체변수의 멤버가 사용된다. 소스코드를 살펴보면 char wk_char1[1+1]; memset(wk_char1,0x00,sizeof(wk_char1)); memcpy(wk_char1,i515391.id_gubun,1); i515390.id_gubun=antoi(wk_char,1); //여기서 main함수를 호출하면 main(&i515390); int main(i515390) I515390 *515390; { //메인함수에서는 간접멤버참조연산자를 통해 멤버값을 참조한다. i515390->id_gubun; }
- Total
- Today
- Yesterday
- 인포믹스
- Python
- EC
- 자바
- 라이믹스 모듈
- 문자열
- MySQL
- esql
- XE
- 파싱
- C언어
- 스크래핑
- 포인터
- proc
- JDBC
- xe addon
- ocjap
- 이클립스
- ocajp
- xe애드온
- 프로씨
- 파이썬
- XE3
- 자바 smtp
- C
- php
- 플러터
- 오라클
- KG
- webix
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |