1. 개요
엔터 혹은 개행문자라 불리는 '\n'을 입력받아서 처리하는 코드를 작성해봤습니다.
2. 방법
방법은 2가지로 실험해봤습니다.
1) gets
2) getchar
scanf는 엔터와 몇가지 아스키코드는 입력받지 않는 것으로 취급하기 때문에 논외로 하였습니다.
3. Source
1) gets
2) getchar
4. Result
1) gets
xxxx@xxxx:~/xx$ g++ main.cpp && ./a.out
main.cpp: In function ‘int main()’:
main.cpp:7:5: warning: ‘char* gets(char*)’ is deprecated (declared at /usr/include/stdio.h:638) [-Wdeprecated-declarations]
gets(&ch);
^
main.cpp:7:13: warning: ‘char* gets(char*)’ is deprecated (declared at /usr/include/stdio.h:638) [-Wdeprecated-declarations]
gets(&ch);
^
/tmp/cct5ElI9.o: In function `main':
main.cpp:(.text+0x11): warning: the `gets' function is dangerous and should not be used.
0
2) getchar
xxxx@xxxx:~/xx$ g++ main2.cpp && ./a.out
10
Detecting Enter
5. Conclusion
개행문자를 판별하기 위해서 확실한 방법은 getchar을 사용해서 분별하는 것입니다.
NAME
fgetc, fgets, getc, getchar, gets, ungetc - input of characters and strings
SYNOPSIS
#include <stdio.h>
int getchar(void);
DESCRIPTION
getchar() is equivalent to getc(stdin).
'소프트웨어 > C' 카테고리의 다른 글
scanf속에 표현식을 넣는 경우, scanf가 무시될 수 있다. (0) | 2015.07.29 |
---|---|
파일 입출력, 전체 파일 메모리 복사해놓기 (0) | 2015.07.01 |
struct 선언하면서 할당하기(?) _ struct의 이상한 모양 분석 (0) | 2015.06.10 |
[에러 리뷰] error: expected ‘,’ or ‘...’ before ‘this’ (0) | 2015.05.07 |
개행문자 입력받기. (0) | 2015.01.16 |