C (포인터, 포인터 포인터 등)로 첫 걸음을 내디뎠습니다. 너무 바보 같은 질문이라면 자비를 베풀어주십시오.C - snprintf 이후에 출력되지 않습니다.
이 조각 출력 아무것도 :
char buf[256];
snprintf(buf, sizeof buf, "output: %s%s%s");
puts("test");
그리고 (예상대로)이 조각 출력 "테스트"
char buf[256];
snprintf(buf, sizeof buf, "output: %s%s");
puts("test");
=>test
질문 : 여기에 재생 현재 snprintf 않는 역할? puts-statement와 어떤 관계가 있습니까? 아니면 첫 번째 코드에 효과/출력을 넣지 않은 이유는 무엇입니까? snprintf(buf, sizeof buf, "output: %s%s%s");
은 3 개 개의 매개 변수를 필요로
'snprintf' 호출에 매개 변수가 없습니다. 컴파일러가 경고합니다 (컴파일러 경고가 활성화되었다고 가정). [다음 중 하나] (http://stackoverflow.com/q/562303/253056)를 선택하고 약간의 독서를 원할 수 있습니다. –
또한 sprintf 및 snprintf는 stdout에 아무 것도 인쇄하지 않고 버퍼 (사용자의 경우 buf)에 인쇄합니다. – Marco
eclipse cdt를 사용하고 있습니다. 컴파일러 경고가 나타나지 않습니다. 어딘가에서 설정을 놓친 경우 지금 바로 확인하십시오 –