IT보안관의 공부 클라우드

문자열 함수 strlen, strcpy, strcmp 따라만들기(C프로그래밍 파워업그레이드) 본문

개발/C

문자열 함수 strlen, strcpy, strcmp 따라만들기(C프로그래밍 파워업그레이드)

ㅡㅡㅡㅡㄷ 2020. 8. 6. 13:59
#include <stdio.h> 
#include <string.h> 

int strLen(char *str){ 
	int i=0; 
	for(i=0; ;i++){ 
		if(str[i]=='\0')break; 
	} 
return i; 
} 

int strCpy(char* des, char* src){ 
	int i=0; 

	for(i=0; ;i++){ 
		des[i]=src[i]; 
		if(src[i]=='\0')break; 
	} 
} 

int strCat(char* des, char* src){ 
	int i=0; 
	int j=0; 

	i=strLen(des); 
	for(j=0; ;j++,i++){ 
		if(src[j]=='\0')break; 
		des[i]=src[j]; 
		printf("%d",i); 
	} 
} 

int strCmp(char* str1, char* str2){ 
	while((*str1)!=0|| (*str2)!=0){ 
		if(*str1>*str2)return 1; 
		else if((str1<*str2))return 1; 
		else{ 
			str1++; 
			str2++; 
			continue; 
		} 
	} 
	return 0; 
} 

int main(void){ 
	char str1[100]="Good morning?"; 
	char str2[100]="HaHaHa!"; 
	char buffString[100]; 

    /** strLen test **/ 
    printf("length of \"%s\" : %d \n", str1, strLen(str1)); 
    printf("length of \"%s\" : %d \n", str2, strLen(str2)); 

    /** strCpy test **/ 
    strCpy(buffString, str1); 
    printf("copy string: \"%s\" \n", buffString); 

    /** strCat test **/ 
    strCat(buffString, str2); 
    printf("concat string: \"%s\" \n", buffString); 

    /** strCmp test **/ 
    printf("cmp str1, str1 : %d \n" ,strCmp(str1, str1) ); 
    printf("cmp str2, str2 : %d \n" ,strCmp(str2, str2) ); 
    printf("cmp str1, str2 : %d \n" ,strCmp(str1, str2) ); 

    printf("cmp str2, str1 : %d \n" ,strCmp(str2, str1) ); 
    return 0; 
}
Comments