有希
C++/문자열 관련 함수 4총사 본문
옛날 C관련 문자열 함수 4총사
1. StrLen
문자열의 길이를 구한다.
int main()
{
char a[100] = "Hello";
cout << strlen(a);
return 0;
}
와 같이 하면 5가 나온다. 코드 구현은 while(a[idx]!='\0')로 개수를 세서 return 해주면 된다.
2. StrCpy
1번의 구현과 같은 while로 감싸고 dest[idx] = src[idx]; 로 넣어주면 된다.
포인터 버전을 원한다면 *dest++ = *src++; 해주면 됨.
3. StrCat
1번에서 구한 StrLen 함수를 이용한다.
int len = StrLen(dest);
int i = 0;
while (src[i] != '\0')
{
dest[len + i] = src[i];
i++;
}
dest[len + i] = '\0';
return dest;
중요한 점은 dest의 끝에도 문자열 끝을 알리는 값을 넣어줘야 한다.
4. StrCmp
기존 구현된 함수를 보면 두 문자열을 비교해서 같다면 0을 return 해주지만, 다를 경우에는 결과에 따라 다른 값을 return한다.
앞쪽 녀석이 사전상 먼저 나온다면 -1을 return 하고
뒤쪽 녀석이 사전상 먼저 나온다면 1을 return 해준다.
int i = 0;
while (a[i] != '\0' || b[i] != '\0')
{
if (a[i] > b[i])
return 1;
if (a[i] < b[i])
return -1;
i++;
}
return 0;
이렇게 구현해주면 된다. a,b는 각각 문자열 이다.
'프로그래밍 > C++' 카테고리의 다른 글
C++/malloc(free) vs new(delete) (0) | 2022.01.28 |
---|---|
C++/메모리 구조 (0) | 2022.01.28 |
C++/순수 가상 함수 (0) | 2022.01.28 |
C++/바인딩(Binding) (0) | 2022.01.28 |
C++/객체지향 3대 특징 (0) | 2022.01.28 |