20140404 (Adder, NOT, NAND, puts, fputs, gets, fgets, fflush)
35일차
--------------------
반 가 산 기
--------------------
----------------
--- NOT Gate
A Y
1 0
0 1
--- NAND
NOT + AND
L L 에 연결해 본 것.
--- 가산기 ( Half Adder )
1비트 덧셈.
A B S C
0 0 0 0
A B S C
1 0 1 0
0 1 1 0
A B S C
1 1 0 1
----------------------
문 자 열 입 출 력
----------------------
--- puts, fputs
- int puts(const char * s)
- int fputs(const char * s, FILE * stream)
성공시 음수가 아닌 값, 실패시 EOF반환
끝에 자동으로 엔터를 친다.
--- gets, fgets
- char * gets(char * s)
- char * fgets(char * s, int n, FILE * stream)
성공시 *s 의 주소값 반환, 실패시 or 파일 마지막 도달시 NULL
엔터입력 포함.
fgets함수에서 int n 의 값은 받고 싶은 글자 + 1만큼
변수를 선언해야 한다.
!! 주의 !!
gets() 함수는 입력을 받으며 메모리를 침범할 수 있기때문에
사용을 자제해야한다.
gets 뿐만 아니라 scanf, read, strcpy, memcpy, ...등등 전부 위험한 함수다.
그래서 fgets 를 사용해야 한다!!!
--- fflush
버퍼를 비우는 함수
int fflush(FILE * stream)
fflush(stdin) 입력 버퍼 비움
fflush(stdout) 출력 버퍼 비움