부산IT학원/스마트컨트롤러

20140404 (Adder, NOT, NAND, puts, fputs, gets, fgets, fflush)

EHOzlO 2014. 4. 4. 14:16

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)  출력 버퍼 비움