/* -*- MaTX -*- * * 【名前】 * fprintf() - 書式化したデータをファイルに書き込む * * 【形式】 * i = fprintf(fd, format, ...) * Integer i; * Integer fd; * String format; * * i = fprintf(file, format, ...) * Integer i; * String file; * String format; * * 【機能説明】 * fprintf(fd, format, ...)は,format で指定した書式で * fd = fopen() でオープンしたファイルにデータを書き込む。 * 整数型,実数型,文字列型のデータを出力できる。 * * 書式は,C 言語の関数 printf() の書式と同じものを指定する。 * すなわち,普通の文字(アルファベット,数字,エスケープ文字) * あるいは変換を表す文字列を指定する。エスケープ文字には次の * ものがある。 * * \a : 警告(ベルなど) \v : 垂直タブ * \b : バックスペース \\ : バックスラッス * \f : 改ページ \' : アポストロフィ * \n : 復帰改行 \" : 二重引用符 * \r : 復帰 \? : 疑問符 * \t : 水平タブ * * 変換を表すには,パーセント % ,フィールド幅(オプション),変換文字 * を指定する。変換文字には,次の文字がある。 * * %d : 整数型 * %e, %E, %f, %g : 実数型 * %s : 文字列型 * * fprintf() は,変換して出力したデータの数を返す。 * * fprintf(1, format, ...) は標準出力へ, * fprintf(2, format, ...) は標準エラー出力へ,それぞれ出力する。 * * fprintf(file, format, ...) は,ファイル file をオープンし, * fortmat で指定した書式でデータを書き込み,ファイルを閉じる。 * データを 1 度だけ書き込む場合は,この方法が便利である。 * ただし,データを何度も書き込む場合は,ファイルのオープン * とクローズが繰り返されるので効率が非常に悪い。 * * 【例題】 * ファイル afo を書き込み用にオープンし,fprintf() でデータを書き込む。 * * if ((fd = fopen("afo", "w")) < 0) { * error("Can't open %s", "afo"); * } * fprintf(fd, "%d %f %s", 10, 3.1415, "Hello"); * fclose(fd); * * 【関連項目】 * fopen(), fclose(), fscanf(), fgets(), fread(), fwrite() */