2014. 1. 1. 23:51ㆍ2018년 이전 관심사/개발관련
char *index (char *str1, char ch) 는 문자열 str1을 처음부터 검색하여 ch 문자를 찾아 포인터를 리턴 한다.
char *rindex (char *str1, char ch) 는 문자열 str1을 뒤부터 검색하여 ch 문자를 찾아 포인터를 리턴 한다.
문자열을 찾지 못하면 NULL을 리턴한다.
위 함수를 사용한 예제는 아래와 같습니다. ( 아래 예제는 forum.falinux.com 에서 사용한 예제를 참고 하였습니다. )
#include <string.h>
#include <stdio.h>
int main()
{
char data[] = "[Connect 0]";
char *sp, *dp;
char mydata[100] = {0x00,};
sp = index(data,' ');
dp = rindex(data,']');
strncpy(mydata, sp+1, dp-sp-1);
printf("[%s]\r\n",mydata);
}
결과는
[0]
입니다.
저는 위와 동일한 동작을 AVR 기반의 Arduino MCU에서 수행하려고 하니, AVR 라이브러리에는 index()와 rindex() 함수를 이용 할 수 없었습니다. 때문에 저는 아래와 같이 사용 하였습니다.
#include <string.h>
#include <stdio.h>
int main()
{
char data[] = "[Connect 0]";
char *sp, *dp;
char mydata[100] = {0x00,};
sp = strstr(data," ");
dp = strstr(data,']');
strncpy(mydata, sp+1, dp-sp-1);
printf("[%s]\r\n",mydata);
}
결과는
[0]
입니다.
'2018년 이전 관심사 > 개발관련' 카테고리의 다른 글
[Arduino Uno WiFi Shield]WizFi250과 Xively를 이용하여 온도 센서 모니터링 하기 (2/2) (0) | 2014.02.18 |
---|---|
[Arduino Uno] WizFi250과 Xively를 이용하여 온도 센서 모니터링 하기 (1/2) (0) | 2014.02.18 |
[Python] serial module 사용 실패 시, 해결 방법 (0) | 2013.12.20 |
[Python] GUI 개발환경 wxpython 설치하기 (0) | 2013.12.01 |
[Python]Eclipse에서 Python 개발 환경 구축 하기 (2) | 2013.12.01 |