[KOCW 한국산업기술대학교 박정민 교수님] C 프로그래밍 16강

MinWoo Park·2021년 8월 27일
0

KOCW

목록 보기
16/19
post-thumbnail

Part16 문자열 표준 함수와 기타 표준 함수

표준 함수들은 글로 정리하는 것보다 직접 코드를 입력하고 실행 결과를 보는 것이 더 효과적인 학습이 되기에 간단하게만 정리함

16.1 문자열 처리 함수 1

gets() 함수와 puts() 함수

  • 헤더 파일: stdio.h

  • gets() 함수: 문자열을 입력받는 함수, 사용자가 문자열을 입력하고 엔터(개행 문자 \n)를 누르면 자동으로 개행 문자를 제거하고 문자열 끝에 종료 문자(NULL문자 \0)을 붙여 줌

  • puts() 함수: 문자열을 출력하는 함수, printf() 함수와 달리 출력하면서 자동으로 개행 문자를 삽입함


strlen() 함수 - 문자열의 길이를 알려준다

  • 헤더 파일: string.h
  • 문자열의 길이를 알려주는 함수
  • 문자열의 끝을 알리는 종료 문자는 길이에 포함되지 않음 <-> sizeof는 종료 문자 포함

strcpy() 함수와 strncpy() 함수 - 문자열을 복사한다

  • 헤더 파일: string.h
  • strcpy() 함수: 두 번째 인자의 문자열을 첫 번째 인자의 메모리 주소에 복사
  • strncpy() 함수: 두 번째 인자의 문자열을 첫 번째 인자의 메모리 주소에 복사, 세 번째 인자는 복사해야 할 크기
    종료 문자를 1바이트를 포함해서 계산해야 함
    마지막에 종료 문자(\0)을 넣어주지 않으면 garbage value가 됨

strcat() 함수와 strncat() 함수 - 문자열을 결합하다

  • 헤더 파일: string.h
  • strcat의 뜻: String Concatenate(사슬같이 잇다, 연쇄시키다)
  • 결합할 때는 첫 번째 인자의 문자열 맨 끝에 있는 종료 문자가 생략되고 두 번째 인자 문자열이 붙음
  • strcat(): 두 번째 인자의 문자열을 첫 번째 인자의 메모리 주소에 결합
  • strncat(): 두 번째 인자의 문자열을 첫 번째 인자의 메모리 주소에 결합, 세 번째 인자는 결합해야 할 크기

strcmp() 함수와 strncmp() 함수 - 문자열을 비교하다

  • 헤더 파일: string.h
  • strcmp의 뜻: String compare
  • strcmp(): 첫 번째 인자의 문자열과 두 번째 인자의 문자열을 비교
  • strncmp(): 첫 번째 인자의 문자열과 두 번째 인자의 문자열을 비교, 세 번째 인자는 비교해야 할 크기
  • 비교 결과는 첫 번쨰 인자 기준으로 더 크면 양수, 같으면 0, 작으면 음수로 나타낸다

16.2 문자열 처리 함수 2

strchr() 함수와 strstr() 함수 - 문자와 문자열의 위치를 찾는다

  • 헤더 파일: string.h
  • strchr(): String Character, 문자열에서 문자의 위치를 찾는 함수
  • strstr(): Substring In String, 문자열에서 문자열의 위치를 찾는 함수

strupr() 함수와 strlwr() 함수 - 문자열을 대문자로 바꾸거나 소문자로 바꾼다

  • ANSI 표준이 아니라 지원하지 않을 수 있음, 기타 표준 함수 tolower(), toupper()로 대체 가능
  • strupr(): String Uppercase, 문자열을 대문자로 바꾸는 함수
  • strlwr(): String Lowercase, 문자열을 소문자로 바꾸는 함수

sscanf() 함수와 sprintf() 함수 - 메모리로부터 문자열을 입력받고 출력한다

  • 헤더 파일: string.h
  • sscanf(): String Scan Formatted: 메모리로부터 문자열을 입력받는 함수
  • sprintf(): String Print Formatted: 메모리부터 문자열을 출력하는 함수

16.3 기타 표준 함수

무언갈 이해하고 정리할 부분이 적기 때문에 코드로 테스트만 해보고 따로 글로 정리하진 않음.


Reference
강의: 박정민, 『C 프로그래밍』, KOCW 한국산업기술대학교, 16강
교재: 박정민, 『열혈강의 C 언어 본색 명강의가 일으키는 C 언어 기적』, 프리렉 (2011), p540-570.

profile
물음표를 느낌표로 바꾸는 순간을 사랑하는 개발자입니다.

0개의 댓글