출처: ??
아래함수는 c언어에서 기본으로 제공되는 표준 문자열 관련 함수를 새롭게 구현한 소스입니다.
//문자열을 복사하는 함수 (s1:사본, s2:원본)
void strcpy(char *s1, char *s2)
{
while(*s2!='')
{
*s1=*s2;
s1++; s2++;
}
*s1='';
}
//문자열의 끝에 문자열을 이어붙이는 함수
void strcat(char *s1, char *s2)
{
while(*s1!='')
s1++;
while(*s2!='')
{
*s1=*s2;
s1++;
s2++;
}
*s1='';
}
//문자열의 길이를 리턴
int strlen(char *s1)
{
int cnt=0;
while(*s1!='')
{
cnt++;
s1++;
}
return cnt;
}
//문자열을 거꾸로 뒤집는 함수
void strrev(char *s)
{
char tmp;
int len=strlen(s);
for(int i=0; i<len/2;++i)
{
tmp=*(s+i);
*(s+i)=*(s+len-1-i);
*(s+len-1-i)=tmp;
}
}
//문자열을 대문자로 변환하는 함수
void strupr(char *s1)
{
while(*s1!='')
{
if(*s1>=97 && *s1<=122)
*s1-=32;
s1++;
}
}
//문자열을 소문자로 변환하는 함수
void strlwr(char *s1)
{
while(*s1!='')
{
if(*s1>=65 && *s1<=90)
*s1+=32;
s1++;
}
}
//문자열의 대소를 비교하는 함수
int strcmp(char *s1, char *s2)
{
while(*s1==*s2 && *s1!='' && *s2!='')
{
s1++;
s2++;
}
if(*s1<*s2) return(-1);
else if(*s1>*s2) return(1);
else return(0);
} | |