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
- ํด๋ก์
- D
- F#
- GNU MathProg
- GNU ์ฅํ๋ธ
- Go
- ํ์ค์ผ
- ์๋ฐ (1.5 ๋ฒ์ ์ดํ)
- ๋ฉ์ดํ
- Mathematica
- MATLAB
- Mythryl
- Objective Caml
- PHP
- ํ์ด์ฌ (% ์ฐ์ฐ์ ์ฌ์ฉ)
- ํ
- R
- ๋ฃจ๋น
- Vala (
print()๋ฐFileStream.printf()์ ํตํด)
๊ฐ์ด ๋ณด๊ธฐ
[ํธ์ง]์ธ๋ถ ๋งํฌ
[ํธ์ง]- :ย print formatted outputย โย System Interfaces ์คํ ๊ทธ๋ฃน์ ๋จ์ผ ์ ๋์ค ๊ท๊ฒฉ, Issue 7 ์ฐธ๊ณ
- :ย formatted output conversionย โย OpenBSD Library Functions ๋งค๋ด์ผ ํ์ด์ง