C 를 공부하던중... 의문이 있어서 문의 드립니다.
글쓴이: 익명 사용자 / 작성시간: 금, 2002/11/15 - 12:56오전
안녕하세요..
practice C programming 을 공부하던 중 아래와 같은 소스가 있는데..
read 함수는 다음과 같고....
read_size = read(in_file, buffer, sizeof(buffer));
~ 중략 ~
write(out_file, buffer, (unsigned int) read_size );
~ 후략 ~
여기서 write 함수에서 세번째 인자 에서 ( unsigned int ) 라는
식으로 자료형이 붙는 이유를 모르겠습니다.
함수의 원형은 다음과 같이 세번째 인자의 자료형이 주어졌는데..
unsigned int 라고 자료형을 주는 이유를 모르겠습니다.
ssize_t write(int fd , const void * buf , size_t
count);
그럼 이만 줄입니다.
감사합니다.
Forums:
Re: C 를 공부하던중... 의문이 있어서 문의 드립니다.
size_t 가 unsigned int 를 typedef 를 이용해서 재정의 한것일껍니다.
아마도 read_size 변수는 int 형인듯, 그래서 size_t 또는 unsigned int
로 변경하는 것 같습니다.
그럼 고운 하루
리눅스 wrote..
안녕하세요..
practice C programming 을 공부하던 중 아래와 같은 소스가 있는데..
read 함수는 다음과 같고....
read_size = read(in_file, buffer, sizeof(buffer));
~ 중략 ~
write(out_file, buffer, (unsigned int) read_size );
~ 후략 ~
여기서 write 함수에서 세번째 인자 에서 ( unsigned int ) 라는
식으로 자료형이 붙는 이유를 모르겠습니다.
함수의 원형은 다음과 같이 세번째 인자의 자료형이 주어졌는데..
unsigned int 라고 자료형을 주는 이유를 모르겠습니다.
ssize_t write(int fd , const void * buf , size_t
count);
그럼 이만 줄입니다.
감사합니다.
Re: C 를 공부하던중... 의문이 있어서 문의 드립니다.
그냥
---------------------------------------------
write(out_file, buffer, (ssize_t) read_size );
---------------------------------------------
이렇게 쓰셔도 됩니다.
다만, ssize_t가 정의된 헤더파일을 같이 인클루드 해주어야 하겠죠.
댓글 달기