Home C언어의 문자열 관련 함수들
Post
Cancel

C언어의 문자열 관련 함수들

c언어의 문자열 관련 함수들

strlen 함수 (문자열 길이)

1
size_t strlen(const char *str);

strlen 함수는 주어진 문자열의 길이를 반환하는 함수이다 여기서 문자열의 끝을 나타내는 null 문자('\0')는 포함되지 않는다

1
2
3
4
5
6
7
8
9
#include <stdio.h>
#include <string.h>

int main() {
    char str[] = "안녕하세요";
    size_t length = strlen(str);
    printf("strlen(\"%s\") = %zu\n", str, length);
    return 0;
}
1
strlen("안녕하세요") = 15

strcpy 함수 (문자열 복사)

1
char *strcpy(char *dest, const char *src);

strcpy 함수는 소스 문자열을 대상 문자열로 복사하는 함수이다

1
2
3
4
5
6
7
8
9
10
#include <stdio.h>
#include <string.h>

int main() {
    char src[] = "안녕하세요";
    char dest[50];
    strcpy(dest, src);
    printf("strcpy(dest, \"%s\") = %s\n", src, dest);
    return 0;
}
1
strcpy(dest, "안녕하세요") = 안녕하세요

strncpy 함수 (지정된 길이만큼 문자열 복사)

1
char *strncpy(char *dest, const char *src, size_t n);

strncpy 함수는 지정된 길이만큼 소스 문자열을 대상 문자열로 복사하는 함수이다

1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
#include <string.h>

int main() {
    char src[] = "안녕하세요";
    char dest[50];
    strncpy(dest, src, 9);
    dest[9] = '\0';  // 수동으로 null 문자 추가
    printf("strncpy(dest, \"%s\", 9) = %s\n", src, dest);
    return 0;
}
1
strncpy(dest, "안녕하세요", 9) = 안녕하

strcat 함수 (문자열 연결)

1
char *strcat(char *dest, const char *src);

strcat 함수는 소스 문자열을 대상 문자열의 끝에 연결하는 함수이다

1
2
3
4
5
6
7
8
9
10
#include <stdio.h>
#include <string.h>

int main() {
    char dest[50] = "Hello";
    char src[] = " World";
    strcat(dest, src);
    printf("strcat(dest, \"%s\") = %s\n", src, dest);
    return 0;
}
1
strcat(dest, " World") = Hello World

strncat 함수 (지정된 길이만큼 문자열 연결)

1
char *strncat(char *dest, const char *src, size_t n);

strncat 함수는 지정된 길이만큼 소스 문자열을 대상 문자열의 끝에 연결하는 함수이다

1
2
3
4
5
6
7
8
9
10
#include <stdio.h>
#include <string.h>

int main() {
    char dest[50] = "Hello";
    char src[] = " World";
    strncat(dest, src, 6);
    printf("strncat(dest, \"%s\", 6) = %s\n", src, dest);
    return 0;
}
1
strncat(dest, " World", 6) = Hello World

strcmp 함수 (문자열 비교)

1
int strcmp(const char *str1, const char *str2);

strcmp 함수는 두 문자열을 비교하는 함수로 문자열이 같으면 0을 반환하고, 다르면 음수 또는 양수를 반환한다

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
#include <string.h>

int main() {
    char str1[] = "Hello";
    char str2[] = "World";
    int result = strcmp(str1, str2);
    if (result == 0) {
        printf("strcmp(\"%s\", \"%s\") = 0 (문자열이 같습니다)\n", str1, str2);
    } else {
        printf("strcmp(\"%s\", \"%s\") = %d (문자열이 다릅니다)\n", str1, str2, result);
    }
    return 0;
}
1
strcmp("Hello", "World") = 1 (문자열이 다릅니다)

strncmp 함수 (지정된 길이만큼 문자열 비교)

1
int strncmp(const char *str1, const char *str2, size_t n);

strncmp 함수는 지정된 길이만큼 두 문자열을 비교하는 함수이다

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
#include <string.h>

int main() {
    char str1[] = "Hello";
    char str2[] = "Hell";
    int result = strncmp(str1, str2, 4);
    if (result == 0) {
        printf("strncmp(\"%s\", \"%s\", 4) = 0 (문자열이 같습니다)\n", str1, str2);
    } else {
        printf("strncmp(\"%s\", \"%s\", 4) = %d (문자열이 다릅니다)\n", str1, str2, result);
    }
    return 0;
}

1
strncmp("Hello", "Hell", 6) = 0 (문자열이 같습니다)

strchr 함수 (문자 위치 찾기)

1
char *strchr(const char *str, int c);

strstr 함수는 문자열에서 특정 문자열의 첫 번째 발생 위치를 찾는 함수이다

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
#include <string.h>

int main() {
    char str[] = "Hello, World!";
    char *ptr = strchr(str, 'W');
    if (ptr != NULL) {
        printf("strchr(\"%s\", 'W') = %ld (문자 위치: %ld)\n", str, ptr - str, ptr - str);
    } else {
        printf("strchr(\"%s\", 'W') = NULL (문자를 찾을 수 없습니다)\n", str);
    }
    return 0;
}

1
strchr("Hello, World!", 'W') = 7 (문자 위치: 7)
This post is licensed under CC BY 4.0 by the author.