이미 내용이 있는 버퍼에 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가 자동으로 추가된다고 한다.