맨위로

C PROGRAMMING - 기초2012. 2. 21. 19:24

안녕하세요 ? 이번 강의에서는 C언어의 문자 입출력에 대해서 알아보도록 하겠습니다. 이번글에서는 문자데이터를 처리하는 몇가지 프로그램을 작성함으로써 문자 입출력에 대해서 알아봅니다. 우리가 알아볼 프로그램들은 가장 기본적인 프로그램이며 이프로그램들을 변형하면 대부분의 문자데이터를 처리하는 프로그램을 만들수 있을것입니다. 먼저 강의를 시작하기 전에 이블로그에 와주신 모든 분들께 감사의 말씀드립니다. 이제 본격적으로 C 언어 문자 입출력에대해서 알아보도록 하겠습니.


문자 입출력

문자로 이루어져있는 프로그램이 있을때 C에 표준입출력 라이브러리를 이용해서 문자를 읽어들여서 데이터를 처리할수 있다.
표준 입출력 라이브러리에 있는 함수중 문자하나를 받아들이는 함수가있다. 함수는 다음과 같다.

c = getchar()

이 함수가 호출되면 입력되는 문자를 받아들입니다. 입력된 문자는 변수c의 값으로 주어지며 입력은 보통 키보드에서 오게됩니다.

표준 입출력 라이브러리에는 입력을 받은것을 출력해주는 함수가 존재합니다. 그함수는 다음과 같습니다.

putchar(c)

이 함수는 입력받은 문자하나를 출력합니다. 보통 키보드로 입력받은것을 모니터로 출력하게 됩니다.


파일의 복사

지금 까지 getchar 와 putchar 를 간단하게 알아보았습니다. 이제 간단한 예를 통해서 알아보도록 하겠습니다.

#include<stdio.h>
main()
{
int c;
c =getchar();
while (c !=EOF){
putchar(c);
c = getchar();
}
}

위의 예는 입력받은 문자를 그대로 출력하는 간단한 프로그램입니다. 프로그램의 과정은 다음과 같습니다.

  • 문자를 읽어 들인다. c= getchar();


  • 읽어 들인 문자가 EOF(End Of File) 파일의 끝을 나타내는 기호가 아니면 (c != EOF) while 루프를 돌린다.


  • 문자를 출력한다.  putchar(c);


  • 다음 문자를 읽어 들인다 c = getchark();

 
위의 코드에서 눈여겨 봐야 할곳은 바로 다음 코드이다.

 while (c !=EOF){

 위의 코드에 대해서 설명을 하자면 c != EOF 는 c 가 파일의 끝을 나타내는 EOF 와 같지 않다면 이라는 의미이다. EOF는 보통 -1 이나 0 을 나타낸다. EOF 값은 stdio.h 에서 정의하고 있으므로 정의 없이 사용할수 있다.


예제를 통한 문자 입출력 알아보기


 문자의 갯수 세기

#incldue<stdio.h>
main()
{
long nc;
nc = 0;
while (getchar () != EOF)
++nc;
printf("%1d\n",nc);
}

행의 갯수 세기

#include<stdio.h>
main()
{
int c,nl;
nl =0;
while ( (c = getchar() ) != EOF)
if (c == '\n')
++nl;
printf("%d\n",nl);
}



'C PROGRAMMING - 기초' 카테고리의 다른 글

C언어 - 함수  (0) 2012.04.21
C언어 - 배열  (6) 2012.03.01
C언어 - 문자 입출력  (2) 2012.02.21
C언어 - 상수정의  (0) 2012.02.18
C언어 - For 문  (6) 2012.02.16
C언어 - 변수와 수식표현②  (0) 2012.02.14

Posted by STIH

댓글을 달아 주세요