[소켓네트워크] - strtok 이용한 문자열 분리
| strtok 이용한 문자열 분리
char* strtok(char* strTokenString, const char* strDelim); // 검색을 진행할 문자열, 검색 시 구분자로 사용할 문자열
해당 문자열을 잘라서 원하는 값을 얻음으로서
얻은 값을 통해 해당 클라이언트에게 귓속말도 가능하고 라즈베리파이에서 led 제어 및 각종 센서를 제어할 수 있다
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void main(){
char string[100] = "GET /webcontrol.html?led=on HTTP/1.0"; // 자를 문자열 설정
char *puri;
puri = strstr(string, "/"); // strstr() 이용하여 해당 문자열 위치로 이동 후 위치부터 끝까지 문자열 반환
char *puri2;
puri2 = strtok(puri, "?"); // /web~1.0 에서 ? 까지 문자열을 자름
printf("uri = %s\n", puri2);
char *pvar;
pvar = strtok(NULL, "="); // 자른 문자열 다음은 NULL 부터 시작하여 = 까지 문자열을 자름
printf("var = %s\n", pvar);
char *ponoff;
ponoff = strtok(NULL, " "); // 자른 문자열 다음은 NULL 부터 시작하여 " "(띄어쓰기) 까지 문자열을 자름
printf("value = %s\n", ponoff);
char *pprotocol;
pprotocol = strtok(NULL, "\0"); // 자른 문자열 다음은 NULL 부터 시작하여 "\0"(문자열 끝) 까지 문자열을 자름
printf("protocol = %s\n", pprotocol);
}
'소켓네트워크' 카테고리의 다른 글
[소켓네트워크] - 채팅 클라이언트 안드로이드용 (0) | 2017.06.02 |
---|---|
[소켓네트워크] - 채팅 서버 코드 (1) | 2017.06.02 |
[소켓네트워크] - 일반 소켓 vs RAW 소켓 (0) | 2017.04.21 |
[소켓네트워크] - Can not Bind 처리방법 (0) | 2017.04.21 |
[소켓네트워크] - TCP/IP 흐름 (0) | 2017.04.01 |