일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- linux
- PointableCanvasModule
- DAIVerse
- p515
- MacFilter
- 동적 힙
- VR플랫폼
- Unity
- 게임
- VR
- 2D
- PHOTON
- 메모리 단편화
- C++
- 게임제작
- C언어
- 캐시 메모리 사상
- TCP
- 유니티
- OculusInteractionSamplesRayCanvas
- 온라인
- 캐스팅연산자
- handtracking
- 5G에그
- pragmaonce
- 메모리
- js
- 게임개발
- 게임은 문화
- 파일패킹
- Today
- Total
kunyoungparkk
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++' 카테고리의 다른 글
[C/C++] 파일 패킹 (0) | 2022.01.06 |
---|---|
[C/C++] 파일 입출력 (0) | 2022.01.06 |
C/C++ 시간을 측정하기 (0) | 2022.01.06 |
랜덤을 구현하는 방법 (0) | 2021.11.07 |
#pragma once (0) | 2021.10.25 |