Contents

조회 수 7997 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
1. 문자열 함수

        strcpy(3) : 문자열을 복사한다.
        strncpy(3) : 문자열의 일부를 복사한다.
        strcat(3) : 문자열을 결합한다.
        strncat(3) : 문자열의 일부를 결합한다.
        strlen(3) : 문자열의 길이를 알아본다.
        strcmp(3) : 두 문자열을 비교한다.
        strncmp(3) : 두 문자열의 일부분을 비교한다.
        strcasecmp(3) : 문자열의 대소문자를 가리지 않고 비교한다.
        strncasecmp(3) : 대소문자를 가리지 않고 문자열의 일부를 비교한다.
        strdup(3) : 문자열을 복사한다.
        strchr(3) : 문자열에서 해당되는 문자의 첫번째를 찾아낸다.
        strpbrk(3) : 문자열에서 해당되는 문자의 첫번째 문자의 포인터를 리턴한다.
        strrchr(3) : 문자열에서 마지막으로 매치되는 문자의 포인터를 리턴한다.
        strstr(3) : 문자열이 포함될 때 처음 위치의 문자를 리턴한다.
        strspn(3) : 문자열이 일치하는 곳까지 문자의 갯수를 리턴한다.
        strtok(3) : 문자열에서 토큰을 분리해낸다.


--------------------------------------------------------------------------------

2. 문자열 복사하기

        #include <string.h>
        
        strcpy
        char *strcpy(char *dst, const char *src);
        
        strncpy
        char *strncpy(char *dst, const char *src, size_t n);
        
        strdup
        char *strdup(const char *s1);


--------------------------------------------------------------------------------

3. 문자열 길이 알아보기

        strlen
        size_t strlen(const char *s);


--------------------------------------------------------------------------------

4. 문자열 비교하기

        strcmp
        int strcmp(const char *s1, const char *s2);
        
        strncmp
        int strncmp(const char *s1, const char *s2, size_t n);
        
        
        strcasecmp
        int strcasecmp(const char *s1, const char *s2);
         
        strncasecmp
        int strncasecmp(const char *s1, const char *s2, int n);

        다음 프로그램 string.c는 스트링에 관련된 전반적인 사용법을 익히는 프로그램이다. 
        
        예: string.c
        #include <stdio.h>
        #include <stdlib.h>
        #include <string.h>
        
        main()
        {
                char * string1 = "hello";
                char * string2 = "world";
                char * string3;
                
                /** malloc을 이용해서 string3을 위한 공간을 잡아둔다. **/
                string3 = (char *)malloc(sizeof(char)*255);  
                
                /** string1의 문자열을 string3의 문자열에 결합시킨다. **/
                strcat(string3, string1);
                /** string2의 문자열을 string3의 문자열에 결합시킨다. **/
                strcat(string3, string2);
                printf("string1 + string2: %s :: length: %dn", string3, strlen(string3));
                
                /** strcpy를 이용해 string1의 문자열을 string3에 복사한다. **/
                strcpy(string3, string1);
                printf("string copy from string1 to string3: %sn", string3);
                
                /** strdup을 이용해 string1의 문자열을 string3에 복사한다. **/
                string3 = strdup(string2);
                printf("string copy from string2 to string3: %sn", string3);
                
                /** strcmp를 이용해서 두 문자열을 비교한다. 
                리턴 값이 0이면 두 문자열이 같다. **/
                if(strcmp(string1, string3) !=0) 
                        printf("string1 and string3 are differnetn");
                else
                        printf("string1 and string3 are samen");
        }


--------------------------------------------------------------------------------

5. 문자열에서 원하는 내용의 일부분 찾기

        strchr
        char *strchr(const char *s, int c);
        
        strrchr
        char *strrchr(const char *s, int c);
        
        strpbrk
        char *strpbrk(const char *s1, const char *s2);
        
        strstr
        char *strstr(const char *s1, const char *s2);
        
        strspn
        size_t strspn(const char *s1, const char *s2);


--------------------------------------------------------------------------------

6. 문자열에서 토큰 얻기

        strtok
        char *strtok(char *s1, const char *s2);

        다음 프로그램은 문장에서 원하는 토큰을 찾는 방법을 알려주는 프로그램이다. 
        
        예: strtok.c
        
        #include <stdio.h>
        #include <string.h>
        
        main()
        {
                char *p, buf[]="Hello world";
                
                /** buf로 부터 문자열을 읽어와 토큰을 분리한다. 토큰 분리자는 스페이스이다. **/
                p = strtok(buf, " ");
                
                /** 분리된 토큰을 출력한다. **/
                printf("p = %sn", p);
                
                /** 토큰을 계속해서 얻기위해서는 출처를 NULL로 해야한다. **/
                p = strtok(NULL, " ");
                printf("p = %sn", p);
                p = strtok(NULL, " ");
                if(p != NULL)
                        printf("p = %sn", p);
        }

        다음 프로그램은 토큰 분리자가 단순한 스페이스가 아니라 다양한 분리자를 허용하는 프로그램이다.
        
        예: strtok2.c
        #include <stdio.h>
        #include <string.h>
        
        main()
        {
                char *p, buf[100];
                char *re;
                
                re = gets(buf);
                
                /** 토큰 분리자를 스페이스,탭,.,:,*,&,^,%,$,#,@,!,(,)로 설정한다. **/
                p = strtok(buf, " t,.:*&^%$#@!()");
                
                while(p != NULL) {
                        printf("p = %sn", p);
                        p = strtok(NULL, " t,.:*&^%$#@!()");
                }
        } 


?

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
97 Develop [vim] vim 명령으로 &#65279; 문자 제거하기 (remove 65279 bomb) hooni 2021.02.03 1168
96 Develop [ios] Facebook SDK 로그인 설명 file hooni 2017.04.19 1164
95 Develop [android] Calling activity function from separate class hooni 2016.11.15 1161
94 Develop [ios] Objective-C Types & Storage Capacity hooni 2015.07.22 1159
93 Develop macOS에 node, npm 설치하기 (homebrew) file hooni 2021.11.06 1149
92 Develop GPL, AGPL, MPL,.. 한눈에 보는 오픈소스SW 라이선스 file hooni 2014.10.14 1146
91 Develop [coding] Find all anagrams in a string hooni 2017.06.27 1146
90 Develop [ios] UIView 계층구조 hooni 2015.01.03 1130
89 Develop [maven] Mac OS에 메이븐(maven) 설치하기 file hooni 2015.01.21 1112
88 Develop [js] 문자열에서 숫자만 걸러내기 (jQuery 안쓰고 정규표현식) hooni 2017.12.14 1108
87 Develop [ios] FlckrFeed Example App (Swift) file hooni 2016.11.27 1079
86 Develop [ios] 동영상 플레이어 샘플 (for Local File) file hooni 2017.02.07 1077
Board Pagination Prev 1 ... 58 59 60 61 62 63 64 65 66 67 ... 71 Next
/ 71