250x250
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 가스요금폭탄
- Swipes
- 가스비절약
- 에버노트
- 라온익스
- debounce
- 기름보일러
- Raspberry Pi
- 온도센서
- node.js
- xcode11
- Node
- 나비엔
- IOT
- 난방비절약
- todoist
- ReactNative
- anydo
- 경동
- 네모안
- react-native
- 린나이온도조절기
- __attribute__
- npm moment
- rasppi3
- 온도조절기
- REACT
- evernote
- nodejs
- EditText
Archives
- Today
- Total
어허
문자열 리턴하기 ! 본문
728x90
#include "stdio.h" #include "stdlib.h" #include "string.h" char* kocom(){ int i = 0; char temp[3]={0,}; char * recv_buff; char buff[22]; recv_buff = (char *)malloc(32); // 메모리 할당을 받아야지만 리턴했을때에도 메모리가 지워지지않는다. memset(recv_buff, 0x00, sizeof(recv_buff)); // 초기화 해주지 않으니까 첫 8배열에 `?@등 값이 들어간다 for(i=0; i<21; i++) { sprintf(temp, "%02x", buff[i]); // buff값을 16진수 형태로 문자열로 temp에 쓴다 // buff에는 aa 55 0c 등등 으로 들어있기때문에 나누기 위함 strcat(recv_buff,temp); // temp[0], temp[1]에 각각 있는것들을 recv_buff로 계속 이어붙인다. } return recv_buff; } //end kocom void main(){ char *buff; buff=kocom(buf); printf("%s\n=", buff); }// end main맞는지 안 맞는지도 모르겠고 무식한 방법일지도 모르지만
어쨌든 계획대로 문자열을 헥사로 바꿔서 장비 작동 시키고
response 하는 값을 받아서 다시 배열에 넣고 그 배열을 문자열로 바꾸고
문자열을 리턴해서
리턴받은 문자열을 사용해서 다시 UI에 넘기기까지 !!!
성공 !
함수 자체를 포인터 함수로 선언하고
배열의 포인터를 넘겼을때 그 배열의 메모리가 지워지지 않게 미리미리 메모리 할당해준다음
배열의 포인터를 리턴해주는것이 핵심 !!!
간단한건데 이거 찾아서 하는데 오늘 하루 꼬박 들어갔음 ㅠ
사용하고난후 메모리 free() 해주는건 필수 !
728x90
'개발 > C(C++)' 카테고리의 다른 글
[스크랩] [C++] extern C에 대해 (0) | 2010.09.20 |
---|---|
pthread_create 쓰레드 생성 (0) | 2010.09.14 |
[의문] 실행문이 없는 if 문 (0) | 2010.08.06 |
[gcc 에러] undefined reference to '__gxx_personality_v0' (0) | 2010.08.04 |
문자열데이터를 잘라서 헥사코드배열로 바꾸기 ! strtoul() 사용 (0) | 2010.08.04 |
Comments