[t:/]$ 지식_

fgets와 라인피드

2023/09/22

fgets로 라인바이라인을 처리하면 마지막에 \n을 삭제해 주지 않는다.

예전에 깔짝깔짝 둘러본 바로는,

gcc든 clang이든 str mem류는 이미 아키텍처별로 고도화 되어 있어서 대충 쓰면 대충 빠르다.

라인피드 문자를 지우기 위해 strlen 으로 끝을 찾아서 0을 넣는 것은 사실 아깝다. 우리는 속도 밖에 모르는 바보들이니까.

바이트 단위로 순차 작업을 하다가 마지막에 이르러 라인피드를 지우고 싶다면 strchr로 찾아서 지우는 쪽이 두 번 탐색하지 않는다. strlen은 사실 탐색 활동이다.









[t:/] is not "technology - root". dawnsea, rss