C
[C] 069 문자열을 구분자로 분리하기 strpbrk()
qkrwngus
2021. 1. 25. 22:08
Desc :
char* strpbrk(const char* string, const char* strCharSet);
string - 검색될 문자열
strCharSet - 구분문자 / 문자세트
문자열이 저장되어있는 배열 변수 string에서 Token에 해당하는 공백을 찾는다
공백을 찾은 경우 --> 공백이 있는 자리에 대한 번지를 반환한다
공백이 없는 경우 --> 문자 배열 변수 string의 선두 번지를 반환한다
반환값이 null이 아닌지 비교한다
null이면 while 문을 종료하며
null이 아니면 while 문을 반복
분리된 문자열을 출력하고 pos가 가리키는 번지를 1 증가시킨다
분리된 문자열에서 TOKEN에 해당하는 공백을 찾는다
공백을 찾은 경우, 공백이 있는 자리에 대한 번지를 반환한다
공백이 없는 경우, 현재 pos가 가리키는 번지를 반환한다
string의 문자열이 모두 분리될때 까지 반복실행
Source Code :
#include <stdio.h>
#include <string.h>
#define TOKEN " "
void main()
{
char string[100];
char *pos;
puts("문자열을 입력한 후 Enter키를 치세요");
gets(string);
pos = strpbrk(string, TOKEN);
while (pos != NULL)
{
puts(pos++);
pos = strpbrk(pos, TOKEN);
}
}
Result :