KDONG 2021. 8. 4. 23:57

학습내용

  • 문자 문자열 입출력
  • 문자 문자열 처리함수

학습목표

  • 문자와 문자열 입출력 함수를 알고 활용할 수 있다.
  • 문자와 문자열을 처리하는 함수를 활용할 수 있다.

 

문자 문자열 입출력

1. 문자 관련 입출력 함수

 1) 라이브러리

  (1) scanf(“% ch ), printf (“%c”, ch);

  (2) getc(); putc():

  (3) _getch (); _getche (); _putch();

  (4) getchar(); putchar();

 

 2) getc() putc()

  (1) int getc(FILE *stream);

     - 지정한 스트림으로 부터 문자 읽기

     - 입력문자 ASCII코드 값을 리턴, 오류 시는 EOF리턴

  (2) int putc( int ch, FILE *stream);

     - 지정한 스틀임에 저장한 값을 출력

     - 정상 출력 시 출력문자 리턴, 오류 시는 EOF리턴

 3) _getch (); _getche (); _putch(); - conio.h

int_getch(void); int_getche(void); int_putch(int ch);
* 키보트로부터 입력되는 문자를 읽음
* 입력 문자의 ASCII코드를 리턴
* _getche()는 echo를 사용
* 버퍼를 사용하지 않는 입력
* 화면에 지정한 값을 출력
* 정상 출력 시 출력문자 리턴, 오류 시 EOF 리턴

 

 4) getchar() putchar()

int getchar(void);
* 키보트로부터 입력되는 문자를 읽음
* 입력 문자의 ASCII코드를 리턴
* 버퍼를 사용하는 입력

int putchar(int ch);
* 화면에 지정한 값을 출력
* 정상 출력 시 출력문자 리턴, 오류 시 EOF 리턴

 

2. 문자열 관련 입출력 함수

 1) gets() gets_s() puts()

char *gets(char *str);
char *gets_s(char *str, rsize_t n);
int_puts(char *str);
* 키보트로부터 입력되는 문자들을 \n까지 읽어서 
   str에 입력
* "\n"을 null로 변환하여 저장
* 화면에 지정한 문자열을 출력
* null(\0)을 \n으로 변환하여 출력
* 정상 출력 시 음수가 아닌 값을 리턴, 
  오류 시 EOF 리턴

 

문자 문자열 처리함수

1. 문자, 문자열 처리 관련 라이브러리

2. 자주 사용하는 함수 이용하기

 1) isalpha() : if( (‘A’<=ch && 'Z'>=ch) || ('a'<=ch && 'z'>=ch) )

  (1) int isalpha(int ch);

  (2) 헤더파일 : ctype.h

  (3) 인수가 알파벳 문자인지를 확인

  (4) 알파벳문자이면 0이 아닌 값을 리턴

  (5) 알파벳문자가 아니면 0값을 리턴

 

 2) islower() isupper() : 헤더파일 : ctype.h

  (1) int islower( int ch) : 인수의 문자가 소문자이면 0이 아닌 값, 그 외이면 0을 리턴

  (2) int isupper( int ch) : 인수의 문자가 대문자이면 0이 아닌 값, 그 외이면 0을 리턴

 

 3) strlen()

  (1) 헤더파일 : string.h

  (2) size_t strlen( const char *str);

  (3) 문자열에서 null 전까지의 길이를 리턴

 

 4) strcpy()

  (1) 헤더파일 : string.h

  (2) char *strcpy( char *dest, const char *src );

  (3) null 문자를 포함하여 src의 문자열을 dest로 복사

  (4) src문자열의 길이가 dest 문자 배열의 크기보다 크면 실행 에러가 발생할 수 있음

  (5) 헤더파일 : string.h

  (6) error_t *strcpy_s( char *dest, sizt_t sizedest, const char *src );

  (7) null 문자를 포함하여 src의 문자열을 dest로 복사

  (8) sizedest에 복사할 최대 문자 수(dest의 크기를 기술)

  (9) 함수 성공 시 0, 그 외 오류번호를 리턴

 

 5) strcmp()

char a[10]="Hello";
if(a=="Hello")
--> 주소와의 비교

  (1) 헤더파일 : string.h

  (2) int strcmp( const char *lhs, const char *rhs );

  (3) null 문자 전까지 각 문자를 비교

  (4) 동일하면 0을 리턴, lhs가 크면 양수, rhs가 크면 음수를 리턴

 

 

학습정리

1. 문자 문자열 입출력

  • 문자를 입력받을 때 사용 가능한 표준  C라이브러리 함수로 getc(), getchar()가 있음
  • 문자를 출력할 때 사용 가능한 표준 C라이브러리 함수로 putc(), putchar()가 있음
  • 버퍼를 사용하지 않는 입력 라이브러리 함수로 _getch(), _getche()가 있음
  • getche()는 에코(echo)를 사용하여 사용자가 입력한 내용을 화면에 보여줌
  • 문자열을 입력받는 표준 라이브러리 함수는 gets(), gets_s()가 있음

2. 문자 문자열 처리함수

  • 대표적인 문자나 문자열을 처리하는 라이브러리 함수를 선언한 헤더파일은 ctype.h와 string.h가 있음
  • isalpah()는 알파벳 문자 여부를 판단하여 리턴함
  • strlen()함수는 문자열에서 null을 제외한 문자열의 길이를 리턴함
  • strcpy()함수는 null을 포함하여 복사함
  • strcmp()함수는 동일한 경우 0을 리턴함