Printf

printf 함수는 일반적으로 몇 가지 프로그래밍 언어와 연결된 함수의 일종이다. 다양한 자료형 변수를 문자열로 변환하는 방식을 지정해주는 형식 문자열(format string)인 문자열 변수를 받아들인다. 이 문자열은 기본적으로 표준 출력 시스템에 인쇄된다.

이에 대한 변종으로 fprintf, sprintf에서부터 vprintf, vfprintf, vsprintf, vsnprintf, vasprintf 등이 있다.

 일반적인 예 
일반적인 프로그래밍 언어에서는 다음과 같은 형식으로 printf를 이용한다.
  int printf(const char *format, ...)

 프로그래밍 언어에서의 사용 
 C 언어 
  printf("문자열 %s, 정수 %d, 16진수 %#x, 소숫점 %3.2, 자른 문자열 %.*s \n", "test", 20, 0xf747, 3.1415f, 3, "toast");

이 코드는 다음과 같이 출력한다
 문자열 test, 정수 20, 16진수 0xf747, 소숫점 3.14, 자른 문자열 toa

 일반적인 변종 함수 
 fprintf 
 char fprintf(FILE *stream, const char *format, ...)

 sprintf 
 int sprintf(char *str, const char *format, ...)sprintf()는 스트림(char 변수이름[])에 기존에 있던 내용을 지우고 그 곳에다가 'const char *format'부분에다 쓴 내용을 넣는다.#include<stdio.h>

int main(void)
{
    char text[11];

    sprintf(text,"ABCDEFGHIJ");
    printf("%s",text);

    return 0;
}출력:ABCDEFGHIJ

 vprintf, vfprintf, vsprintf, vsnprintf, and vasprintf 
#include <stdio.h>
/* va_list versions of above */
int vprintf(const char *format, va_list ap);
int vfprintf(FILE *stream, const char *format, va_list ap);
int vsprintf(char *str, const char *format, va_list ap);
int vsnprintf(char *str, size_t size, const char *format, va_list ap);
int vasprintf(char **ret, const char *format, va_list ap);
이 함수들은 일부 printf가 구현되어 있지 않은 임베디드 시스템에서 직접적인 구현을 위해 사용된다.

 printf를 이용하는 프로그래밍 언어 
 AMPL
 awk
 본 셸 (sh) 및 파생물(콘 셸 (ksh), bash, Z 셸 (zsh)
 C
 C++
 오브젝티브-C
 클로저
 D
 F#
 GNU MathProg
 GNU 옥타브
 Go
 하스켈
 자바 (1.5 버전 이후)
 메이플
 Mathematica
 MATLAB
 Mythryl
 Objective Caml
 PHP
 파이썬 (% 연산자 사용)
 펄
 R
 루비
 Vala (print() 및 FileStream.printf()을 통해)

 같이 보기 
 C 표준 라이브러리
 형식 문자열 공격
 iostream
 scanf

 외부 링크 



분류:Stdio.h
분류:유닉스 소프트웨어