C 및 C에서 printf 및 sprintf 함수는 형식화된 인쇄 및 쓰기에 사용됩니다. 이러한 함수를 사용하면 후속 인수가 인쇄되는 방법을 제어하는 형식 문자열을 지정할 수 있습니다. 그러나 인쇄할 인수의 개수를 미리 알 수 없는 경우가 있을 수 있습니다. 이로 인해 이러한 함수에 가변 개수의 인수를 전달하는 방법에 대한 의문이 제기됩니다.
표준 C 라이브러리는 가변 개수의 인수를 처리할 수 있는 vfprintf 함수를 제공합니다. 두 개의 필수 인수가 필요합니다:
다음 코드 조각은 사용 방법을 보여줍니다. vfprintf:
void Error(const char* format, ...) { va_list argptr; va_start(argptr, format); vfprintf(stderr, format, argptr); va_end(argptr); }
이 예에서 Error 함수는 형식 문자열을 첫 번째 인수로 사용하고 임의 개수의 추가 인수를 사용합니다. 이러한 인수는 va_start를 사용하여 초기화되는 va_list를 통해 액세스됩니다. 그런 다음 vfprintf 함수는 형식 문자열과 va_list를 사용하여 호출됩니다. 마지막으로 va_end는 va_list를 정리하는 데 사용됩니다.
위 내용은 C 및 C에서 printf/sprintf에 가변 개수의 인수를 전달하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!