모두의 코드 커뮤니티

C언어 stdio.h에 기능이 중복되는 함수가 많은 이유가 뭔가요?

필요해서라기 보단 컴퓨터를 이해하려고 c언어와 알고리즘을 배우고 있는데 가끔 모르는 함수가 나와서 레퍼런스를 찾아보고 있습니다.
그런데 getc()같이 경우에 따라서 유용한 함수도 있지만 puts()같이 완벽하게 printf()의 하위호환인 녀석도 있는데
puts()같이 필요없는(그래 보이는) 함수들은 왜 있는 건가요?

좋아요 1

제 생각으로는 물론 printf 로 모든 것을 할 수 있지만, 간단히 문자열을 출력할 때 puts 같은 애들이 훨씬 편리하니까 놔둔 것 같네요. 예를 들어서

printf("%s", str);

보다는

puts(str);

이 훨씬 간단하잖아요. 그리고 당연하게도 printf 는 형식 문자열 인 “%s” 를 해석해야 하지만, puts 는 그럴 필요가 없으니 좀더 빠르게 동작합니다.

좋아요 1