본문으로 바로가기

strcmp -> 문자열 비

strncmp -> 문자열 원하는 문자 개수만큼 비교


strcat -> 두개의 문자열을 합치기

strncat -> 길이를 지정하여 두 개의 문자열을 합치기


strstr -> 임의의 문자열 위치를 검색


strchr -> 임의의 문자 위치를 검색

strrchr -> 문자열의 뒷부분부터 문자 위치를 검색


strcpy -> 문자열 복사

srtncpy -> 문자열 원하는 길이만큼 복사


strcasecmp -> 대소문자 무시하고 문자열 비교

strcasencmp -> 대소문자 무시하고 원하는 길이만큼 문자열 비교


strspn -> 특정 문자에 포함되는 문자열 길이 구하기

strcspn -> 특정 문자에 포함되지 않는 문자열 길이 구하기


strpbrk -> 특정 문자들이 시작하는 위치의 포인터 구하기


strlen -> 문자열의 길이구하기


gets -> 표준입력에서 문자열을 가져오기




이와 관련된 리턴값, 사용법은 아래 사이트 참고

http://forum.falinux.com/zbxe/index.php?mid=C_LIB





strcmp를 사용자 함수로 구현해본 코드는 아래와 같다.


#include <stdio.h>


int strcmp(char a[],char b[]){

int i,tmp;

for(i=1;a[i-1]!='\0';i++){ //NULL문자까지 비교

tmp = a[i]-b[i]; //두 문자열의 차이를저장

if(tmp != 0) break;  //차이가 0이면 같으므로 RETURN 0

}

if(tmp==0) return 0;

return tmp;  //차이가 0이 아니라면 차이를 리턴

}


void main(){

char a[50],b[50];

printf("처음입력\n");

scanf("%s",a);

printf("다음입력\n");

scanf("%s",b);


if(strcmp(a,b)==0) 

printf("내용이 같습니다.\n");

else if(strcmp(a,b)>0)

printf("처음입력 문자열이 더 큽니다.\n");

else

printf("나중입력 문자열이 더 큽니다.\n");

}