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
외부 링크
- v
- t
- e
유닉스 명령 줄 인터페이스 프로그램과 내부 명령어
- apropos
- help
- man
- banner
- bc
- cal
- clear
- date
- dd
- file
- history
- info
- lp
- lpr
- od
- pax
- size
- tee
- tput
- type
- uname
- whatis
- yes
- true와 false