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
번호 분류 제목 글쓴이 날짜 조회 수
841 Develop '2014 모바일 개발 트렌드' 발표자료입니다. file hooni 2014.10.02 986
840 Develop Aspect Oriented Programming in Objective-C hooni 2015.05.18 676
839 Develop DDay Memo 1.9.4 소스코드 secret hooni 2015.10.03 0
838 Develop GCM 사용하기 2 (단말에 GCM 구현하기) file hooni 2013.07.06 23248
837 Develop GCM 사용하기 3 (JSP로 GCM 푸시 서버 만들기) 4 file hooni 2013.07.06 25316
836 Develop git 브런치 배우기 (링크) hooni 2013.07.09 20571
835 Develop GPL, AGPL, MPL,.. 한눈에 보는 오픈소스SW 라이선스 file hooni 2014.10.14 1146
834 Develop How to Test SMTP AUTH using Telnet hooni 2018.04.05 1345
833 Develop JSON, BSON 변환 file hooni 2013.04.23 11814
832 Develop Laravel 5 Failed opening required bootstrap/../vendor/autoload.php hooni 2018.01.24 1664
831 Develop Mac OS 에 Jenkins 설치하기 (Homebrew) 2 file hooni 2017.03.15 8131
830 Develop macOS에 node, npm 설치하기 (homebrew) file hooni 2021.11.06 1151
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 71 Next
/ 71