학습내용

  • 라이브러리 함수 이해
  • 라이브러리 함수 활용

학습목표

  • 문자열 처리 관련 라이브러리의 종류를 설명할 수 있다.
  • 문자열을 복사.연결하는 라이브러리 함수의 용도를 알고 구현할 수 있다.

 

라이브러리 함수 이해

1. 종류

 1) 헤더파일 : string.h

  (1) 길이함수

    - strlen : 문자열의 길이를 반환

  (2) 복사함수

    - memcpy : 메모리 블록을 복사

    - memmove : 메모리 블록을 이동

    - strcpy : 문자열을 복사

    - strncpy : 문자열 개수를 지정하여 복사

 

  (3) 연결함수

    - strcat : 문자열을 연결

    - strncat : 문자열 개수를 지정하여 연결

 

 

라이브러리 함수 활용

1. 길이함수

항목 내용
함수원형 size_t strlen( const char *str )
헤더 string.h
기능 문자열의 길이를 구함
매개변수 char *str -> 길이를 구할 문자열
반환값 문자열 길이를 바이트 단위로 반환

2. 복사함수

항목 내용
함수원형 void *memcpy ( void *destination, const void *source, size_t num );
헤더 string.h
기능 메모리 영역을 복사(자기 자신은 복사 불가)
매개변수 void *destination -> 복사될 메모리의 포인터
void *source -> 복사할 메모리의 포인터
size_t num -> 복사할 바이트 개수
반환값 void *destination 포인터를 반환 , 실패하면 NULL 을 반환

항목 내용
함수원형 void *memmove( void *destination, const void *source, size_t num );
헤더 string.h
기능 메모리 영역을 복사(자기 자신은 복사 가능)
매개변수 void *destination -> 복사될 메모리의 포인터
void *source -> 복사할 메모리의 포인터
size_t num -> 복사할 바이트 개수
반환값 void *destination 포인터를 반환 , 실패하면 NULL 을 반환

항목 내용
함수원형 void *strcpy( char *destination, const char *source );
헤더 string.h
기능 문자열을 복사
매개변수 char *destination -> 복사될 메모리의 포인터
char *source -> 복사할 메모리의 포인터
반환값 복사된 문자열을 반환

항목 내용
함수원형 void *strncpy( char *destination, const char *source, size_t num );
헤더 string.h
기능 source의 첫 번째 문자부터 지정한 개수만큼 문자열 복사
매개변수 char *destination -> 문자열 복사 대상
char *source -> 원본 문자열
size_t num -> 복사할 문자 개수
반환값 복사된 문자열을 반환

3. 연결함수

항목 내용
함수원형 void *strcat ( char *destination, const char *source );
헤더 string.h
기능 source의 문자열을 destination에 연결
매개변수 char *destination -> 연결될 문자열
char *source -> 연결할 문자열
반환값 void *destination 포인터를 반환 , 실패하면 NULL 을 반환

항목 내용
함수원형 char *strncat( char *destination, const char *source, size_t num );
헤더 string.h
기능 source의 첫 번째 문자부터 지정한 개수만큼 문자열을 destination에 연결
매개변수 char *destination -> 연결될 문자열
char *source -> 연결할 문자열
size_t num -> 연결할 문자 개수
반환값 연결된 문자열 반환

 

 

학습정리

1. 라이브러리 함수 이해

  • 문자열 처리 관련 함수는 string.h를 include함
  • 문자열의 길이를 반환하는 함수 : strlen()
  • 문자열을 복사하는 함수 : memcpy, memmove, strcpy, strncpy
  • 문자열을 연결하는 함수 : strcat, strncat

2. 라이브러리 함수 활용

  • 문자열 포인터를 복사하는 함수 : memcpy, memmove
  •  - memmove 함수는 자기 자신을 복사하는 것이 가능함
  • 문자열을 복사하는 함수 중 개수를 지정할 수 있는 함수 : strncpy
  • 문자열을 연결하는 함수 중 개수를 지정할 수 있는 함수 : strncat