티스토리 뷰
문자열 비교 검색 라이브러리
# 라이브러리 함수 이해
1. 헤더 파일 : string.h
1) 비교함수
2) 검색함수
memcmp : 메모리 블록을 비교
strcmp : 문자열을 비교
strncmp : 문자열 개수를 지정하여 비교
strcmp : 문자열을 비교
strncmp : 문자열 개수를 지정하여 비교
2) 검색함수
memchr : 메모리 블록에서 문자열 검색
strchr : 문자열에서 찾는 문자의 첫 번째 위치
strrchr : 문자열의 마지막에서부터 문자 위치 검색
strspn : 문자열에서 특정 문자로 구성된 문자열의 길이
strcspn : 문자열에서특정문자로구성에포함되지않는문자열의길이
strstr : 부분 문자열 위치
strtok : 토큰으로 문자열 분리
strchr : 문자열에서 찾는 문자의 첫 번째 위치
strrchr : 문자열의 마지막에서부터 문자 위치 검색
strspn : 문자열에서 특정 문자로 구성된 문자열의 길이
strcspn : 문자열에서특정문자로구성에포함되지않는문자열의길이
strstr : 부분 문자열 위치
strtok : 토큰으로 문자열 분리
# 라이브러리 함수 활용
1. 문자열 비교함수
1) memcmp
2) strcmp
3) strcmp
2. 문자열 검색함수
#include
#include
int main ()
{
char buffer1[] = ‚DWgaOtP12df0‛;
char buffer2[] = ‚DWGAOTP12DF0‛;
int n;
n=memcmp ( buffer1, buffer2, sizeof(buffer1) );
if (n > 0) printf (‚‘%s’ is greater than ‘%s’.\n‛,buffer1,buffer2);
else if (n < 0) printf (‚‘%s’ is less than ‘%s’.\n‛,buffer1,buffer2);
else printf (‚‘%s’ is the same as ‘%s’.\n‛,buffer1,buffer2);
return 0;
}
//결과
‘DWgaOtP12df0’ is greater than ‘DWGAOTP12DF0’
#include
#include
int main( void)
{
char str_apple[] = ‚apple‛;
char str_apple2[] = ‚ apple‛;
char str_banana[] = ‚banana‛;
char str_appleII[]= ‚appleII‛;
printf( ‚%s with %s = %d\n‛, str_apple, str_apple ,strcmp( str_apple, str_apple ) );
printf( ‚%s with %s = %d\n‛, str_apple, str_apple2 ,strcmp( str_apple, str_apple2 ) );
printf( ‚%s with %s = %d\n‛, str_apple, str_banana ,strcmp( str_apple, str_banana ) );
printf( ‚%s with %s = %d\n‛, str_apple, str_appleII,strcmp( str_apple, str_appleII) );
return 0;
}
//결과
apple with apple = 0
apple with apple = 1
apple with banana = -1
apple with appleII = -1
int main ()
{
char str[][5] = { ‚R2D2‛ , ‚C3PO‛ , ‚R2A6‛ };
int n;
puts (‚Looking for R2 astromech droids... ‛);
for (n=0 ; n < 3 ; n++) {
if (strncmp (str[n], ‚R2xx‛,2) == 0) {
printf (‚found %s\n‛,str[n]);
}
}
return 0;
}
//결과
Looking for R2 astromech droids...
found R2D2
found R2A6
1) memchr
2) strrchr
3) strspn
4) strcspn
5) strtok
int main ()
{
char * pch;
char str[] = ‚Example string‛;
pch = (char*) memchr (str, ‘p’, strlen(str));
if (pch!=NULL)
printf (‚ ‘p’ found at position %d.\n‛, pch-str+1);
else
printf (‚ ‘p’ not found.\n‛);
return 0;
}
//결과 확인
‘p’ found at position 5.
int main( void)
{
char *str = ‚www.world.com‛;
printf( ‚%s\n‛, strrchr( str, ‘w’));
return 0;
}
//결과
cd.com world.com
#include
#include
int main ()
{
int i;
char strtext[] = ‚129th‛;
char cset[] = ‚1234567890‛;
i = strspn (strtext,cset);
printf (‚The initial number has %d digits.\n‛,i);
return 0;
}
//결과
The initial number has 3 digits.
#include
#include
int main ()
{
char str[] = ‚fcba73‛;
char keys[] = ‚1234567890‛;
int i;
i = strcspn (str,keys);
printf (‚The first number in str is at position %d.\n‛,i+1);
return 0;
}
//결과
The first number in str is at position 5
#include
#include
int main ()
{
char str[] =‚010-1234-5678‛;
char * pch;
printf (‚Splitting string \‚%s\‛ intotokens:\n‛,str);
pch = strtok (str,‚-‛);
while (pch != NULL) {
printf (‚%s\n‛,pch);
pch = strtok (NULL, ‚ ,.-‛);
}
return 0;
}
//결과
Splitting string ‚010 abcd.com -1234-5678‛ into
tokens:
010
1234
567
'JAVA기반스마트웹개발2021 > 프로그래밍언어 활용' 카테고리의 다른 글
동적 메모리 (0) | 2021.08.08 |
---|---|
도서관리 시스템 고도화(라이브러리 적용) (0) | 2021.08.08 |
문자 분류 데이터 변환 관련 라이브러리 (0) | 2021.08.07 |
수학 관련 라이브러리 (0) | 2021.08.07 |
도서관리 시스템 (0) | 2021.08.07 |