티스토리 뷰
문자열에 관련된 이야기는 요롷게 나눠서 포스팅하겠습니다.
0. 문자열(NULL문자) (문자열 1장 포스팅: https://o0oheamao0o.tistory.com/107)
1. 문자열 상수 vs 문자 배열 (문자열 1장 포스팅: https://o0oheamao0o.tistory.com/107)
2. 문자열 관련 함수들
2-1. strcpy_s() 문자열 복사 함수 (문자열 2-1장 포스팅: https://o0oheamao0o.tistory.com/108)
2-2. strlen() 문자열 길이 구하는 함수
2-3. strcmp() 문자열 비교 함수 (문자열 2-3장 포스팅: https://o0oheamao0o.tistory.com/110)
2-4. strcat_s() 문자열 결합 함수 (문자열 2-4장 포스팅: https://o0oheamao0o.tistory.com/111)
2-2. strlen() : 문자열 길이 구하는 함수
● strlen() 사용법
문자열의 길이를 구하는 함수. 원형은 다음과 같다.
size_t strlen(const char* str); // size_t는 unsigned int
사용방법은 다음과 같다.
/*문자열 상수 길이 구하기 1*/
cout << strlen("hello") << endl;
/*문자열 상수 길이 구하기 2*/
const char* str_ptr = "hello";
cout << strlen(str_ptr) << endl;
/*문자 배열안의 문자열 길이 구하기*/
char str_arr[] = "hello";
cout << strlen(str_arr) << endl;
● strlen() 과 sizeof()는 다르다!
문자열의 "길이"를 구하는 것이지 바이트 크기를 구하는 것이 아니다!!
cout << "문자열 길이: " << strlen("hello") << endl;
cout << "문자열 크기: " << sizeof("hello") << endl;
char str_arr[20] = "hello";
cout << "문자열 길이: " << strlen(str_arr) << endl;
cout << "문자열 크기: " << sizeof(str_arr) << endl;
첫번째 예시는 문자열 상수의 길이는 5지만, 실제로는 끝에 NULL문자가 붙어있기 때문에 크기는 6이 나온다.
두번째 예시는 문자열 자체는 길이가 5지만, str_arr는 20바이트를 할당받았기 때문에 배열의 크기는 20이 나온다.


● strlen() 역시 NULL을 기준으로 문자열을 구별합니다.
strlen()역시 NULL문자를 기준으로 문자열의 끝을 구분한다.
따라서 다음과 같이 "aa\0aa"의 길이를 구한다면 "aa"까지만 인식해서 길이를 2라고 반환한다.
cout << " 문자열 길이: " << strlen("aa\0aa") << endl;
cout << " 문자열 크기: " << sizeof("aa\0aa") << endl;

- Total
- Today
- Yesterday
- ubuntu
- Tree
- flutterdoctor
- Winform
- ()
- mac unity vscode autocomplete
- Unity vs code
- 우분투
- multiple Column
- VirtualBox
- QO
- 컨셉때문에킹받으셨나요..죄송합니다..제가 봐도 킹받네요
- 트리
- 해마코딩
- GIT
- DevExpress
- select
- Unity
- 버추얼박스
- Flutter
- Query
- gridContorl
- Mac
- androidstudio
- apt-get
- DataSource
- apt
- =
- VS Code
- mac Unity vscode 자동완성
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
