이미 내용이 있는 버퍼에 fgets를 사용하면 덮어쓸까?

jinwook han·2023년 3월 25일
0

이미 내용이 있는 버퍼에 fgets를 사용하면 덮어쓸까?
-> 덮어쓴다.

코드

int main(int argc, char *argv[]) {
        char buf[10];

        buf[0] = 'a';
        buf[1] = 'b';
        buf[2] = 'b';

        fgets(buf, sizeof buf, stdin);
        fputs(buf, stdout);
}
~   

결과


내용이 덮어써진다.
초반 버퍼에 넣었던 abb는 없어졌다.

더 알아보기

https://man7.org/linux/man-pages/man3/fgets.3p.html

A null byte shall be written immediately after the last byte read into the array.

fgets로 읽은 뒤 null byte가 자동으로 추가된다고 한다.

0개의 댓글