검색결과 리스트
라인입출력 함수에 해당되는 글 1건
- 2011.03.27 라인 입출력 함수
글
라인 입출력 함수
언어로그/C/C++
2011. 3. 27. 21:07
라인단위로 입출력을 다루는 함수들에 대해서 알아보자. 널문자를 삽입해주는지 여부와 버퍼에서 개행문자를
제거하는지 여부에 주목하여 보자.
제거하는지 여부에 주목하여 보자.
scanf(const char *TEMPLATE, ...)
scanf 함수를 사용하여, 한 라인의 문자열을 읽을 수 있지만, 개행문자를 표준입력버퍼에 남겨놓는다.
연이은 읽기 동작에 오동작을 초래할 수 있기때문에, 입력버퍼에서 개행문자를 제거하는 것을 잊지 말자!
char* fgets(char *S, int COUNT, FILE *STREAM)
지정한 입력버퍼에서 최대 COUNT-1 개의 문자를 읽되, 엔터를 칠때까지 배열 S에 저장하는 함수이다.
배열의 공간이 충분하다면, 개행문자와 함께 널문자를 삽입한다. (엔터에 의해 종료)
하지만 공간이 충분하지 않다면, COUNT-1개의 문자와 널문자를 삽입하고 종료한다. (사이즈 제약의 의해 종료)
int fputs(const char *S, FILE *STREAM)
버퍼 S의 내용을 지정한 출력버퍼에 출력하는 함수로, 널문자를 개행문자로 변환하지 않는다.
fgets와 fputs 보다는 덜 사용되지만 라인단위로 입출력을 할 수 있는 다음과 같은 함수가 있다.
char* gets(char *S)
표준 입력버퍼에서 개행문자를 만날 때까지 읽는 함수로, 개행문자는 S에 저장하지 않지만, 입력퍼버에서는 제거한다
int puts(const char *S)
S 문자열을 표준출력버퍼에 출력하는 함수로 널문자를 만나면 개행문자로 변환하여 출력한다.
'언어로그 > C/C++' 카테고리의 다른 글
| 음수의 표현 (0) | 2011.06.13 |
|---|---|
| 문자열 조작함수 직접 구현하기 (2) | 2011.04.29 |
| 라인 입출력 함수 (0) | 2011.03.27 |
| 배열의 이해 (0) | 2011.03.27 |
| 기억부류(Storage Class) / 변수 (0) | 2011.03.27 |
| 전역변수와 지역변수 (0) | 2011.03.27 |