String.h
strlen, strcmp, strcpy등과 같은 문자열과 관련된 함수들이 작성되어 있는 헤더입니다.
strlen
strlen는 문자열의 길이를 구하기 위한 함수입니다. (length -> len)
strlen는 아래와 같이 사용합니다.
#include <stdio.h> #include <string.h> int main() { int length; char arr[1000]; printf("길이를 알고싶은 문자열을 입력하세요 : "); gets(arr); length = strlen(arr); printf("문자열의 길이는 %d 입니다.\n", length); return 0; }
|
그리고 다음과 같이 구현할 수 있습니다.
#include <stdio.h> int strlen(char* arr) { int i, count = 0; for (i = 0; arr[i] != '\0'; i++) { count++; } return count; } int main() { int length; char arr[1000]; printf("길이를 알고싶은 문자열을 입력하세요 : "); gets(arr); length = strlen(arr); printf("문자열의 길이는 %d 입니다.\n", length); return 0; }
|
strcmp
strcmp는 두 문자열을 비교하기 위한 함수입니다. (compair -> cmp)
strcmp는 아래와 같이 사용합니다.
#include <stdio.h> #include <string.h> int main() { char arr1[1000], arr2[1000]; int cmp; printf("문자열 입력 : "); gets(arr1); printf("비교할 문자열 입력 : "); gets(arr2); cmp = strcmp(arr1, arr2); if (cmp == 0) { printf("두 문자열은 일치합니다. \n"); } else { printf("두 문자열은 일치하지 않습니다. \n"); } return 0; }
|
그리고 아래와 같이 구현할 수 있습니다.
#include <stdio.h> int strcmp(char* arr1, char* arr2) { int i, j, count = 0, cnt = 0; for (i = 0; arr1[i] != '\0'; i++) cnt++; for (j = 0; arr2[j] != '\0'; j++) { if (arr1[j] == arr2[j]) { count++; } } if (count == cnt) { return 1; } else { return 0; } } int main() { char arr1[1000], arr2[1000]; int cmp; printf("문자열 입력 : "); gets(arr1); printf("비교할 문자열 입력 : "); gets(arr2); cmp = strcmp(arr1, arr2); if (cmp == 1) { printf("두 문자열은 일치합니다. \n"); } else { printf("두 문자열은 일치하지 않습니다. \n"); } return 0; }
|
strcpy
strcpy는 문자열을 복사해주는 함수입니다. (copy -> cpy)
strcpy는 아래와 같이 사용합니다.
#include <stdio.h> #include <string.h> int main() { char arr1[1000], arr2[1000]; printf("복사할 문자열을 입력하세요(arr1) : "); gets(arr1); strcpy(arr2, arr1); printf("결과(arr2) : %s\n", arr2); return 0; }
|
그리고 아래와 같이 구현할 수 있습니다.
#include <stdio.h> int main() { int i, j, nul; char arr1[1000], arr2[1000]; printf("복사할 문자열을 입력하세요(arr1) : "); gets(arr1); for (i = 0; arr1[i] != '\0'; i++) { arr2[i] = arr1[i]; nul = i; } arr2[nul + 1] = '\0'; printf("결과(arr2) : %s\n",arr2); return 0; }
|