Go to the first, previous, next, last section, table of contents.

### `printf`, `fprintf`, `sprintf`

`printf(format[,args])`
`fprintf(fd,format[,args])`
`sprintf(format[,args])`
  :: C に似たプリント関数

return
  整数(printf,fprintf), 文字列(sprintf)
format
  文字列
fd
  非負整数(ファイル記述子)
args
  オブジェクト

- `printf` は書式文字列 format にしたがい, オブジェクト args を標準出力に書き出す.
- `fprintf` は結果を, ファイル記述子 fd の指すファイルに書き出す.
- `sprintf` は結果を文字列で返し, 標準出力には書き出さない.
- 書式文字列の中で `%a` (any) が利用可能. args の個数は書式文字列の中の `%a` の個数に等しくすること.
- ファイル記述子は, `open_file` 関数を用いて得ること.

    [0] printf("%a: rat = %a\n",10,x^2-1)$
    10: rat = x^2-1
    [1] S=sprintf("%a: rat = %a",20,x^2-1)$
    [2] S;
    20: rat = x^2-1
    [3] Fd=open_file("hoge.txt","w");
    0
    [4] fprintf(Fd,"Poly=%a\n",(x-1)^3)$
    [5] close_file(Fd)$
    [6] quit;

    $ cat hoge.txt
    Poly=x^3-3*x^2+3*x-1

`参照`
  @xref{rtostr},@xref{open_file},@xref{close_file}

ChangeLog

- 関数 sprintfは 2004-7-13 にコミットされた. 変更をうけたソースコードは builtin/strobj (1.50) である.
- 関数 printfは 2007-11-8 にコミットされた. 変更をうけたソースコードは builtin/print.c (1.23) である.
- 関数 fprintfは 2008-11-18 にコミットされた. 変更をうけたソースコードは builtin/file.c (1.25) である.
- `%a` は Maple の sprintf の真似か.

Go to the first, previous, next, last section, table of contents.