Visual Studio/C 기초
-
C언어 문자 검색 strcspn()Visual Studio/C 기초 2013. 7. 3. 00:01
strcspn() 함수는 어떤 문자열에 포함되어 있는 문자들이 다른 문자열에서 처음으로 나타나는 위치를 찾아줍니다. #include #include main(){ char name1[80], name2[80]; size_t location; puts("문자열을 입력해주세요."); gets(name1); puts("찾을 단어를 입력해주세요."); gets(name2); location = strcspn(name1, name2); if(location == strlen(name1)) printf("찾을 수 없습니다.\n"); else printf("위치 %d에서 처음으로 발견되었습니다.\n",location); } 원본 문자열을 name1에 입력받고, 검색할 단어를 name2에 입력받습니다. strcspn(..
-
C언어 strchr()Visual Studio/C 기초 2013. 6. 25. 16:44
strchr() 함수는 문자열 내에서 처음으로 나타나는 지정된 문자를 찾습니다. 이 함수는 string.h 헤더 파일을 요구합니다. strchr() 함수가 문자를 발견하면 문자에 대한 포인터를 돌려줍니다. 예제를 보면서 설명을 하겠습니다. #include #include main(){ char *location, buf[80]; int ch; printf("검색할 원본 문자열을 입력하세요 : "); gets(buf); printf("찾을 문자 하나를 입력하세요 : "); ch = getchar(); location = strchr(buf, ch); if(location==NULL) printf("문자 %c를 찾는 데 실패했습니다.\n",ch); else printf("문자 %c를 %d번째 위치에서 찾았습..
-
strncmp()Visual Studio/C 기초 2013. 6. 19. 16:42
strncmp() 함수는 하나의 문자열에서 지정된 개수의 문자를 다른 문자열과 비교합니다. 비교 동작이 수행되는 방법과 함수의 복귀 값은 strcmp()와 동일합니다. #include #include char st1[] = "I am a boy"; char st2[] = "I like a flower"; main() { size_t n, x; puts(st1); puts(st2); while(1) { puts("\n비교할 문자의 개수를 입력해 주세요. 0을 입력하면 종료됩니다."); scanf("%d",&n); if(n
-
C언어 문자열 비교 [strcmp()]Visual Studio/C 기초 2013. 6. 17. 16:58
문자열의 내용이 동일한지 알아보기 위해 두 문자열을 비교해야 합니다. 문자열이 동일하지 않다면 하나의 문자열은 다른 것보다 크거나 혹은 작다는 것. 이렇게 크거나 작은 상태를 결정하는 기준은 각 문자의 ASCII 코드 값입니다. 모든 대문자가 소문자보다 "작다"는 이상하게 생각될 수 있는 한가지 예외 사항을 제외하고 알파벳 순서에 따라 크기가 정해집니다. 대문자의 ASCII 코드의 범위는 65부터 90이고, 소문자의 ASCII 코드의 범위는 97~122이므로 "ZEBRA"는 "apple"보다 작은 것으로 간주됩니다. strcmp의 함수가 반환하는 값이 0보다 클 경우 : st1이 st2보다 크다. 0일 경우 : st1이 st2와 같다. 0보다 작을 경우 : st1이 st2보다 작다. #include #i..
-
strdup()Visual Studio/C 기초 2013. 6. 17. 15:41
strdup() 함수는 malloc() 함수를 호출하여 새로 복사될 문자열을 저장하기 위한 메모리 영역을 자동으로 할당하는 것을 제외하면 strcpy()와 기능은 같습니다. 실제로 malloc() 함수를 호출하여 메모리 영역을 할당하고 나서 strcpy() 함수를 호출합니다. malloc()에 의해 할당된 영역에 대한 포인터이거나 메모리를 할당할 수 없다면 NULL값이 됩니다. 참고로 strdup() 함수는 ANSI 표준 함수가 아니라 마이크로소프트, Borland 등등의 기본적인 프로그램에 포함되어 있지만 일부 컴파일러에선 제공되지 않을 수 있습니다. #include #include #include main(){ char name[80]; char *dest; puts("복사할 문장을 입력해주세요 :"..
-
strncpy()Visual Studio/C 기초 2013. 6. 15. 16:47
앞에서 문자열을 복사하는 방법에 대해 포스팅 했는데요, 이번엔 기능은 같지만 원하는 영역까지만 복사하는 방법에 대해 포스팅하려고 합니다. #include #include char dest[] = ".........................."; char man[] = "abcdefghijklmnopqrstuvwxyz"; main() { size_t n; while(1) { printf("복사할 문자열의 개수를 입력해주세요 (1~26) : "); scanf("%d",&n); if(n>0 && n