본문 바로가기
Develop/C

17 C 언어 스트림의 종류, 문자열 함수!

by 구운밤이다 2016. 7. 19.
728x90
반응형

2016/07/13 - [컴퓨터/C언어] - 16-2 포인터의 확장[함수 & void 포인터]!

이번 시간엔 문자열을 다루게 해주는 함수들에 대해서 배워보도록 할게요! 입출력을 가능하게 해주는 데에 스트림이라는 것이 있어서 가능한 것이에요! 그럼 이 스트림이란 것에는 어떤 것들이 있을까요? 바로 입력, 출력, 에러 스트림이란 3개의 스트림이 존재하는데요!

스트림


stdin 

표준 입력 스트림 

키보드 대상으로 입력 

stdout 

표준 출력 스트림 

모니터 대상으로 출력 

stderr 

표준 에러 스트림 

 모니터 상으로 출력




이렇게 존재합니다. stdin은 입력할때! stdout은 출력할 때! 사용하시는 겁니다 그리고 stderr는 사실 stdout과 비슷한데 나중에 더 깊게 공부하면 알게 될 수 있습니다.

문자 출력


그럼 이제 문자열을 다루는 함수들을 공부해볼게요 먼저  문자를 출력하게 해주는 함수를 알아보도록 하겠습니다! 문자 한개를 출력하게 해주는 것은 putchar, fputc이 있습니다! 문자열을 출력하게 해주는 함수에는 puts, fputs가 있어요 그럼 이들을 이용한 예제를 한번 볼까요?


#include <stdio.h>


int main(void){

    int ch1='A', ch2='b';

    char *ch3=" hello world ";

    char *ch4 =" C lang ";

    

    putchar(ch1);

    fputc(ch2, stdout);

    puts(ch3);

    

    fputs(ch4, stdout);

    

}




이렇게 하면



이런 결과가 나와요 이번엔 문자를 입력하는 함수를 알아보도록 하겠습니다!


문자 입력


문자 하나를 입력받게 해주는 것은 getchar, fgetc이 있습니다! 그리고 문자열을 출력하게 해주는 함수는 gets, fgets가 있어요 그럼 이번엔 얘네를 이용한 예제를 보겠습니다.


#include <stdio.h>


int main(void){

    int ch1, ch2;

    

    ch1=getchar();

    ch2=fgetc(stdin);

    

    putchar(ch1);

    fputc(ch2, stdout);

    

}

이렇게 생긴 것을 실행하고 AB를 입력해보면 ch1엔 A가 ch2엔 B가 들어가고

이런 결과가 나오게 되죠.

#include <stdio.h>


int main(void){

    char *ch3;

    char ch4[10];

    

    gets(ch3);

    fgets(ch4, sizeof(ch4), stdin);

    puts(ch3);

    fputs(ch4, stdout);

}


이거는 이런 결과가 나와요 마지막에 ld가 안 나온 것은 sizeof(ch4)가 10이어서 그런 거겠죠?


모르는 것은 댓글이나 쪽지로 남겨주시면 성심 성의껏 답변해드리겠습니다!! 댓글공감구독(이웃추가)는 블로거에게 큰 힘이 됩니다! 부탁드리면서 이번 포스팅을 마치도록 하겠습니다! 지금까지 딘또였습니다.


728x90
반응형

댓글