본문 바로가기
Language/C언어

C025_putchar함수 만들기

by OdOp 관리자 2023. 10. 12.
반응형

write함수는 파일을 쓰는 데 사용하는 함수중 하나입니다. 조금 더 풀어서 말하면 파일에 데이터를 전달하는 것이 맞을 것 같습니다. 

 

헤더 : unistd.h

형태 : size_t write(int fd, const void *buf, size_t n)

인수 : int fd 파일 디스크립터입니다. 

           void *buf 파일에 쓰기를 할 내용을 담은 버퍼입니다. 

           size_t n 버퍼의 크기입니다. 

반환 : size_t 쓰기에 성공했다면 bif의 바이트 개수를, 실패했다면 -1을 반환합니다. 

 

putchar 함수 만들기

저수준의 파일 입출력에서는 FILE이라는 구조 대신에 각 파일마다 번호를 사용합니다.

이를 파일 식별자(file desciptor) 또는 핸들(handle)이라고 합니다. 핸들은 0, 1, 2의 고정된 의미를 갖고 있습니다. 

0일 때에는 표준 입력을

1일 때에는 표준 출력을

2일 때에는 표준 에러의 역할을 맡습니다. 

 

putchar함수는 매개변수로 전달되는 문자를 표시하는 함수입니다. 

그렇기 때문에 핸들 1을 사용하여 만들어 보겠습니다.

#include <unistd.h>

void putchar(char c)
{
    write(1, &c, 1);
}

int main(void)
{
    putchar('c');
    return (0);
}

 

위와 같이 만들 수 있습니다. 

반응형