1. Strlen 문자열 함수 구현
1 2 3 | #include <string.h> // C++ 에서는 <cstring> size_t strlen ( const char * str ); | cs |
문자열의 길이를 구하는 함수(문자열의 시작부터 NULL값 까지의 문자 개수를 센다.)
1 2 3 4 5 6 7 8 9 10 11 | #include <stdio.h> #include <string.h> int main () { char szInput[100]; printf ("문장을 입력하세요 : "); gets (szInput); printf ("문장의 길이는 : %u 입니다.\n",strlen(szInput)); return 0; } | cs |
- 문장의 길이를 구하는 strlen 함수 예제 -
2. Strcpy 함수 구현
1 2 3 | #include <string.h> // C++ 에서는 <cstring> char * strcpy ( char * destination, const char * source ); | cs |
source가 가리키는 값을 destination에 복사한다.
1 2 3 4 5 6 7 8 9 10 11 12 13 | #include <stdio.h> #include <string.h> int main () { char str1[]="Layer7"; char str2[40]; char str3[40]; strcpy (str2,str1); strcpy (str3,"copy successful"); printf ("str1: %s\nstr2: %s\nstr3: %s\n",str1,str2,str3); return 0; } | cs |
- 문자열을 복사하는 Strcpy 함수 예제 -
3. Strcmp 함수 구현
1 2 3 | #include <string.h> // C++ 에서는 <cstring> int strcmp ( const char * str1, const char * str2 ); | cs |
str1값이 str2값 보다 큰 경우 1, 같을 경우 0, 작은 경우 -1을 반환한다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | #include <stdio.h> #include <string.h> int main () { char answer[] = "Layer7"; char Input[80]; do { printf ("동아리를 맞추세요 : "); gets (Input); } while (strcmp (answer,Input) != 0); printf("정답입니다.\n"); return 0; } | cs |
- 문자열을 비교하여 맞는지 확인하는 Stercmp 예제 -
--------------------(string.h를 쓰지 말고 하래요)----------------------
1. Strlen 함수 구현
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | #include <stdio.h> int a(char *string) { int count = 0; while (string[count] != '\0') { ++count; } return count; } int main(int argc, char const *argv[]) { char arr[] = "asdfgh"; printf("%d\n", a(arr)); return 0; } | cs |
2. Strcpy 함수 구현
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | #include <stdio.h> char* strcpy(char* arr, const char* arr2); int main() { char str[255] = "abcdefghijk"; printf("%s\n", strcpy(str, "abcd")); } char* strcpy(char* arr, const char* arr2) { int i = 0; while (arr2[i] != '\0') { arr[i] = arr2[i]; i++; } arr[i] = '\0'; return arr; } | cs |
3. Strcmp 함수 구현
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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | #include <stdio.h> #include <string.h> int strcmp1(char *a, char *b); int main(void) { char arr1[10] = "AA"; char arr2[10] = "AA"; char arr3[10] = "AA"; char arr4[10] = "Aa"; char arr5[10] = "Aa"; char arr6[10] = "AA"; printf("%d\n", strcmp(arr1, arr2)); printf("%d\n", strcmp1(arr1, arr2)); printf("%d\n", strcmp(arr3, arr4)); printf("%d\n", strcmp1(arr3, arr4)); printf("%d\n", strcmp(arr5, arr6)); printf("%d\n", strcmp1(arr5, arr6)); return 0; } int strcmp1(char *a, char *b) { while (*a != '\0' || *b != '\0') { a++; b++; if (*a == *b) { continue; } else if (*a > *b) { return 1; } else if (*a < *b) { return -1; } } return 0; } | cs |
'Sunrin > Layer7' 카테고리의 다른 글
| Layer7 8번 과제(메모리 구조 보고서) (0) | 2018.05.09 |
|---|---|
| Layer7 7번과제(Codeup 기초 100제) (0) | 2018.04.11 |
| Layer7 5번 과제(포인터 보고서) (0) | 2018.04.08 |
| Layer7 5번 과제(금요일 문제 풀이) (0) | 2018.04.08 |
| Layer7 4번 과제(함수 보고서) (0) | 2018.04.05 |