2011-05-08 2 views
1

fputs에 문제가 있습니다. fputs를 사용하여 텍스트 파일에 일부 문자열을 인쇄 할 때 A-Z, a-z, 0-9 이외의 문자 (문자열의 일부가 아닌 문자)가 발생합니다. 나는 모든 문자열이 null 문자로 끝났음을 절대적으로 확신했다. 불행히도 저는 개인적으로 프로그램을 테스트하지 않았기 때문에 더 많은 정보를 드릴 수 없습니다. 그것은 내가받은 피드백이었습니다. 하지만 fputf를 fprintf로 바꾼 후에는 제대로 작동했습니다.fputs/puts dangerous (C로)?

내 질문은 : fputs 일종의 위험한 일입니까? 혹시 문제가 있었습니까?

답변

4

fputs은 본질적으로 위험하지 않습니다. 물론 예제 코드가 없어도보고 있던 문제의 원인을 밝히기가 어렵습니다.

1

fputs()은 (위험한 것은 gets()과 달리) "위험한"기능이 아닙니다. 실제로 인쇄중인 문자열에는 파일로 끝나는 문자가 포함됩니다. 코드가 없으면 우리는 그들이 어떻게 거기에 갔는지 알 수 없습니다.

+1

'fgets'는'gets'와 달리 길이 매개 변수를 사용하므로 안전하다고 간주됩니다. – Trent