DivideByZeroException        0으로 나누려할 때 발생

Exception                    모든 예외 클래스의 부모 클래스

FormatException              입력 형식이 잘못되었을 때 발생

FileNotFoundException        지정한 파일을 찾을 수 없을 때 발생       

IndexOutOfRangeException    인덱스가 배열의 범위를 벗어났을 때 발생

InvalidCastException        지정한 캐스팅이 잘못되었을 때 발생

NullReferenceException        null인 object를 참조하려 할 때 발생

OutOfMemoryException        메모리가 부족하여 프로그램을 계속 실행할 수 없을 때 발생

OverflowException            오버플로가 발생했을 때 발생

'D.B. > Code Lang.' 카테고리의 다른 글

C# exception  (0) 2016.04.04
C] AVL Tree demo  (0) 2009.12.14
C] A operate B 형 사칙연산 계산기  (0) 2009.10.14
C] fflush()  (0) 2009.09.20
Li] 리눅스 명령  (0) 2009.09.10
Li] Ubuntu  (0) 2009.09.10
avl_demo-itioma.exe


2014:05:28 01:50:59


'D.B. > Code Lang.' 카테고리의 다른 글

C# exception  (0) 2016.04.04
C] AVL Tree demo  (0) 2009.12.14
C] A operate B 형 사칙연산 계산기  (0) 2009.10.14
C] fflush()  (0) 2009.09.20
Li] 리눅스 명령  (0) 2009.09.10
Li] Ubuntu  (0) 2009.09.10

num1 op num2 만 계산되므로,

stack 를 이용한 infix to postfix 를 적용한 후,

깔삼한 계산기를 두들겨 볼까,,



'D.B. > Code Lang.' 카테고리의 다른 글

C# exception  (0) 2016.04.04
C] AVL Tree demo  (0) 2009.12.14
C] A operate B 형 사칙연산 계산기  (0) 2009.10.14
C] fflush()  (0) 2009.09.20
Li] 리눅스 명령  (0) 2009.09.10
Li] Ubuntu  (0) 2009.09.10

 fflush( stdin );
 
scanf 를 통하여
abc def  라는 입력을 할 경우,
abc 끝에는 문자열의 끝을 의미하는 null character인 ' \0 '이 삽입된다.

따라서 def 대신 '\0'이 입력되어 버그가 발생


출처 : MSDN Library (링크)


fflush

Flushes a stream.

int fflush( 
   FILE *stream 
);
stream

Pointer to FILE structure.

fflush returns 0 if the buffer was successfully flushed. The value 0 is also returned in cases in which the specified stream has no buffer or is open for reading only. A return value of EOF indicates an error.

crt_fflush.c
#include <stdio.h>
#include <conio.h>
int main( void )
{
   int integer;
   char string[81];
   // Read each word as a string.
   printf( "Enter a sentence of four words with scanf: " );
   for( integer = 0; integer < 4; integer++ )
   {
      scanf_s( "%s", string, sizeof(string) );     
      printf( "%s\n", string );
   }
   // You must flush the input buffer before using gets.
   // fflush on input stream is an extension to the C standard
   fflush( stdin );  
   printf( "Enter the same sentence with gets: " );
   gets_s( string, sizeof(string) );
   printf( "%s\n", string );
}



fflush는  버퍼내용을 지울때 사용된다!

라고 생각 하고 있었다.

그저 단순하고 막연하게 생각하고 있었달까.

그런 것 이었다.


그런데 오늘 또 한가지 배우게 된것같아 남기고 싶다. 우후.


fflush 란 버퍼의 내용을 지운다기 보다는 비운다는게 맞는 표현 같다.

그러니까 버퍼의 내용을 그냥 지우는것보다는 다른 내용을 품고 있다고

말하고 싶은것이다.!


일단 버퍼 부터 말하겠다.

버퍼란 입력 하거나 출력할때 사용되는데

입력 할때마다 처리하는것 보다는 한번에 모와서 일을 하는게 능률적이기 때문에

그 저장공간을 따로 두어 사용하게 된다.

그공간을 버파라 하겠다.


프로그래밍을 할떄 입력버퍼와 출력버퍼가 있겠는데

이 입력버퍼 와 출력버퍼를 비울때에 fflush 란 함수가 사용된다

근데 이 함수란 놈이 이두놈에게 접근할때

다르게 사용 된다는 사실!!


즉 입력버퍼에 대해 사용 할때에는

입력버퍼의 내용을 버려서 버퍼를 깨끗하게 만든다!!


히지만. 출력 버퍼에 대해 사용할때에는

출력버퍼의 내용을 출력을 해버리고 꺠끗하게 만든다!!


이런것도 모르고 사용했다니. =ㅛ=

암튼 그런 ;; 것이었다; ㅎ


'D.B. > Code Lang.' 카테고리의 다른 글

C] AVL Tree demo  (0) 2009.12.14
C] A operate B 형 사칙연산 계산기  (0) 2009.10.14
C] fflush()  (0) 2009.09.20
Li] 리눅스 명령  (0) 2009.09.10
Li] Ubuntu  (0) 2009.09.10
Li] 리눅스 기본 명령어  (0) 2009.09.10


1. 사용자 계정 관리
계정 추가 adduser 계정명
계정 삭제 userdel 계정명
계정 암호 지정 및 변경 passwd 계정명
사용자 계정 바꾸기 su 계정명

2. 그룹 관리
그룹추가 groupadd
그룹삭제 groupdel
그룹속성변경 groupmod

3. 파일 시스템 관리
파일 구조 ls -l
파일 링크 ln

소유권 변경(chown)
허가권 변경(chmod)

파일 압축
tar
gzip
gunzip
bzip2
bunzip2
zip
unzip

'D.B. > Code Lang.' 카테고리의 다른 글

C] A operate B 형 사칙연산 계산기  (0) 2009.10.14
C] fflush()  (0) 2009.09.20
Li] 리눅스 명령  (0) 2009.09.10
Li] Ubuntu  (0) 2009.09.10
Li] 리눅스 기본 명령어  (0) 2009.09.10
C] Visual Studio 6.0 탭 정리  (0) 2009.04.13

+ Recent posts