목록BUFSIZ (1)
살아가는 이야기
C/C++에서 행 단위 입력
표준입력(stdin)에서 행 단위로 읽으려면 fgets를 사용한다. 과거 사용하던 gets는 버퍼 넘침(buffer overflow) 문제로 인해 더 이상 사용하지 않는다. fgets의 인수는 fgets(버퍼, 크기, 스트림) 형식으로 사용하는데, 우리말 순서로는 인수 순서가 잘 이해되지 않지만 영어 순서로는 "get a string into 버퍼 with 크기 from 스트림"으로 읽을 수 있으므로 뜻이 통한다. 헷갈리는 것은 버퍼와 스트림 순서인데, strcpy(버퍼, 소스)의 순서처럼 우측 끝 인수가 소스(source)라고 생각하면 기억하기 쉽다. #include int main() { char line[BUFSIZ]; int sz = sizeof line, lineno = 0; while (fge..
컴퓨터, 풀어그림
2021. 2. 1. 06:26