2022. 1. 6. 10:16ㆍC++
<string.h>
1. strlen : 문자열 길이 반환
원형 : size_t strlen(const char *_Str)
(size_t는 unsigned int로 define 되어있다.)
구현: 문자열 시작지점부터 한 바이트씩 세면서 NULL이 나올 때까지의 길이를 구함.
2. strcpy : 문자열 복사
원형 : char* strcpy(char* _Destination, const char* _Source)
- 반환값은 _Destination의 포인터 값이다.
원형 : errno_t strcpy_s(char* _Destination, rsize_t SizeInBytes, const char* _Source)
(rsize_t는 size_t로 define, errno_t는 int로 define 되어있다.)
반환값 errno_t는 0일 때 success. 자세한 내용은 msdn 참고.
구현: 원본 메모리에서 NULL을 만날 때까지 복사한다.
3. strcmp : 문자열 비교
원형 : int strcmp(const char* _Str1, const char* _Str2)
반환값은 0일때 문자열이 같은 것.
구현: NULL전까지 두 문자열의 아스키코드를 비교해서 끝까지 같으면 0 return.
4. strcat : 문자열 붙이기
원형 : char* strcat(char* _Destination, const char* _Source)
- 반환값은 _Destination의 포인터 값이다.
원형 : errno_t stract_s(char* _Destination, rsize_t _SizeInBytes, const char* _Source)
구현: _Destination의 NULL부분부터 _Source의 내용을 복사한다.
5. strchr : 문자열에서 문자 검색
원형 : char* strchr(char* _String, int _Ch)
- 반환값은 해당 문자(_Ch)를 문자열에서 찾은 경우 해당 문자의 포인터. 찾지 못했을경우 NULL
구현: 해당 문자열에서 문자를 차례대로 찾고, 발견하면 해당 주소값 return.
문자열 끝(NULL)까지 찾지 못했을 경우 NULL return
6. strstr : 문자열에서 문자열 검색
원형 : char* strstr(char* _String, const char* _SubString)
- 반환값은 _String에서 _SubString과 일치하는 부분을 찾았을 경우 그 시작 지점. 찾지 못했을 경우 NULL
구현: _String에서 _SubString과 비교해서 같은 것이 있는지 찾고, 발견하면 그 시작지점 return,
문자열 끝까지 찾지 못했을 경우 NULL return
7. strlwr : 문자열 소문자 변환
원형 : char* _strlwr(char* _String)
- 반환값은 _String의 주소값.
원형 : errno_t _strlwr_s(char* _String, size_t _Size)
구현: 문자열을 NULL 이전까지 순회하면서 대문자 구간의 아스키코드를 소문자 구간으로 변경 시켜줌.
'C++' 카테고리의 다른 글
비트맵(.bmp) 파일 구조 (0) | 2022.01.06 |
---|---|
[C/C++] 파일 패킹 (0) | 2022.01.06 |
[C/C++] 파일 입출력 (0) | 2022.01.06 |
C/C++ 시간을 측정하기 (0) | 2022.01.06 |
호출 규약 (0) | 2021.10.25 |