printf関数とsprintf関数

広告

文字列を指定のフォーマットで出力するには「printf」関数又は「sprintf」関数を使います。まずはこの関数の簡単な使い方を確認しておきます。

書式は次の通りです。

printf([ファイルハンドル] 書式指定文字列, リスト);
戻り値 = sprintf(書式指定文字列, リスト);

「printf」関数は指定のファイルハンドルに対して整形した結果の文字列を出力します。ファイルハンドルを省略した場合は標準出力であるSTDOUTに対して出力しますので結果的に画面に出力されます。「sprintf」関数は整形した結果を文字列として返します。

どちらの関数もリストに指定した値を、書式指定文字列に指定した方法で整形します。結果を画面に出力するなら「printf」関数を使い、いったん変数に保存したいのであれば「sprintf」関数を使って下さい。

書式指定文字列にはリストに記述された値を変換する方法などを記述します。複数の値を指定し、それぞれの値に対応する変換方法を1つの書式指定文字列の中で記述することが出来ます。

実際の記述方法は次のようになります。

printf("番号は %03d です", 24);

上記を実際に実行すると「番号は 024 です」が表示されます。変換元の値である「24」を書式指定文字列の中に記述された「%03d」によって変換し、全体を画面に表示しています。

なんとなく使い方がお分かり頂けましたでしょうか。詳細は次のページから確認していきます。

サンプルプログラム

では簡単なプログラムで確認して見ます。

test1-1.pl

use strict;
use warnings;
use utf8;
binmode STDIN, ':encoding(cp932)';
binmode STDOUT, ':encoding(cp932)';
binmode STDERR, ':encoding(cp932)';

printf("番号は %03d です¥n", 24);

上記を「test1-1.pl」の名前で保存します(文字コードはUTF-8です)。そしてコマンドプロンプトを起動し、プログラムを保存したディレクトリに移動してから次のように実行して下さい。

printf関数とsprintf関数の使い方

( Written by Tatsuo Ikura )

関連記事 (一部広告含む)