반응형
1. int strlen(const char *str1) : 문자열 길이
- str1의 문자열 길이를 반환한다.
- 문자열 끝을 알리는 널 문자('\0')를 제외한 문자열 길이를 반환한다.
- #include<stdio.h>
- #include<string.h>
2. char strcpy(char *str1, const char *str2, n) : 문자열 복사
- str2에서 str1로 n 개의 문자열을 복사한다.
- #include<stdio.h>
- #include<string.h>
3. char strcmp(const char *str1, const char *str2) : 문자열 비교
- str1과 str2를 비교하여 -1, 0, 1의 값(정수)을 반환한다.
- #include<stdio.h>
- #include<string.h>
str1 > str2 | 1 |
str1 < str2 | -1 |
str1 == str2 | 0 |
※ 사전에 나오는 순서를 기준으로 한다. (a, b, c ...)
#include<stdio.h>
int main(){
char ch[] = {'K', 'O', 'R', 'E', 'A'}; // 초기화를 하면 배열의 크기([])를 생략 할 수 있다.
char ch1[] = {'K', 'O', 'R', 'E', 'A', '\0'}; // '\0' : 널문자
char ch2[20] = {'K', 'O', 'R', 'E', 'A', '\0'};
char str1[] = "KOREA";
char str2[20]; // 크기가 20이면, 영문자 19 or 한글 9자가 들어갈 수 있으며, 마지막은 공백(\n)이 저장된다.
printf("ch : ");
for(int i = 0; i < 5; i++) // 문자를 출력할 때는 배열 하나하나를 출력해 주어야 한다.
printf("%c", ch[i]);
printf("\n");
printf("str1 : ");
for(int i = 0; i < 5; i++)
printf("%c", str1[i]);
printf("\n----------------------------------\n");
printf("ch(문자열 출력) : %s\n", ch); // (오류)'문자열'이 아니기 때문에 쓰레기 값이 출력된다.
printf("ch(문자 출력) : %c\n", sh); // (오류)
printf("str1 : %s\n", str1);
printf("\n----------------------------------\n");
strcpy(str2, "장보고"); // (오류)str2 = "장보고", 문자열은 데이터열을 사용할 수 없다.
printf("str2 : %s\n", str2);
printf("\n----------------------------------\n");
printf("ch의 길이 : %d\n", strlen(ch)); // (오류)마지막에 '\0'가 없어서 제대로 된 문자열 길이값이 출력되지 않는다.
printf("ch1의 길이 : %d\n", strlen(ch1));
printf("ch2의 길이 : %d\n", strlen(ch2)); // 배열의 크기를 지정해 주었어도, '\0'까지의 문자열 길이값이 출력된다.
printf("\n----------------------------------\n");
return 0;
}
반응형
'C' 카테고리의 다른 글
[C언어] 포인터(Pointer) - 1 (0) | 2021.02.13 |
---|---|
[C언어] 실습: 암호 입력 프로그램 구현하기 (5) | 2021.02.12 |
[C언어] 실습: 다섯 개의 정수를 입력받은 후, 총합 계산하기 (0) | 2021.02.10 |
[C언어] 버블 정렬(Bubble Sort) (0) | 2021.02.09 |
[C언어] 배열의 크기 (0) | 2021.02.08 |