반응형
strlen() 함수는 <string.h> 헤더파일에 정의되어 있다.
NULL 전까지 문자열의 길이를 읽어온다.
#include<stdio.h>
#include<string.h> // 문자열 처리 함수 : strlen(), ...
int main(){
char str1[] = "hello";
char str2[] = ""; // ""는 NULL을 의미한다.
int len = 0;
printf("str1의 길이 : %d\n", strlen(str1));
printf("str1의 크기 : %d\n", sizeof(str1)); // sizeof()는 NULL을 포함한 값의 크기를 구해준다.
printf("str2의 길이 : %d\n", strlen(str2));
printf("str2의 크기 : %d\n", sizeof(str2));
printf("'hi, bye'의 길이 : %d\n", strlen("hi, bye")); // strlen() 함수 안에 직접 문자열을 입힐 수 있다.
/* str1에서 "hell"만 출력한다. */
len = strlen(str1); // str1의 문자열 길이를 len에 저장한다.
if(len > 0)
str1[len-1] = '\0'; // strlen()은 'NULL'까지의 문자열 길이를 읽어오기 때문에,
// 출력하고 싶은 길이의 다음 문자에 '\0'을 넣어준다.
// "hello"의 "o"를 'NULL'로 바꾸어 준다.
printf("str1 = %s\n", str1);
return 0;
}
반응형
'C' 카테고리의 다른 글
[C언어] 실습: 입력받은 문자열 역순으로 출력하기(포인터 변수) (0) | 2021.05.05 |
---|---|
[C언어] 실습: 입력받은 문자열 역순으로 출력하기 (1) | 2021.05.04 |
[C언어] 문자열과 배열 (0) | 2021.05.02 |
[C언어] 실습: 문자열 처리하기(동적 할당) (0) | 2021.05.01 |
[C언어] 동적 메모리 할당 (malloc, calloc) (0) | 2021.04.29 |