HIR-NET Home
運営者
オンラインソフト
運営者著書
CG
HIR-NETリンク集
C言語辞典
fputc関数
fputc function
語源
file put character(ファイル文字出力)
分類
C/C++標準ライブラリ/関数/入出力関数/出力関数/文字出力関数
名称
ファイル文字出力関数(file character output function)
対義
fgetc関数
同等
fputwc関数
類似
putc関数
関連
fopen関数, getc関数
解説
fputc関数は、ファイルに文字を書き出す関数です。出力ストリーム*stream のファイル位置指示子の位置に、出力文字c を unsigned char に変換した上で書き出します。ファイル位置指示子はその分進められます。ファイルが位置付け要求を実現できないか、ストリームが追加モードでオープンされている場合は出力ストリームに文字が付加されます。
関数原型宣言ヘッダ
<stdio.h>
関数原型宣言例
出力文字
(0~UCHAR_MAX) 出力ストリーム
↓ ↓
int fputc(int c,FILE *stream);
↓
0~UCHAR_MAX:出力文字
EOF :失敗
関数返却値
①書かれた文字c を返す。値としては 0~UCHAR_MAX(一般に 0~255)です。
②書出エラーが発生した場合(ferror関数で識別可能)はファイル・エラー指示子をストリームに設定し EOF(一般に -1)を返します。
関数原型宣言ヘッダ
<stdio.h>
関数原型宣言例
出力文字
(0~UCHAR_MAX) 出力ストリーム
↓ ↓
int fputc(int c,FILE *stream);
↓
0~UCHAR_MAX:出力文字
EOF :失敗
関数返却値
①書かれた文字c を返す。値としては 0~UCHAR_MAX(一般に 0~255)です。
②書出エラーが発生した場合(ferror関数で識別可能)は、ファイル・エラー指示子をストリームに設定し EOF(一般に -1)を返します。
ファイルに文字を出力
// fputc1.c
#include <limits.h> // UCHAR_MAX
#include <stdio.h> // FILE,fputc
#include <stdlib.h> // EXIT_SUCCESS
int main(void)
{
int i;
FILE *sput=fopen("fputc.tes","wb");
// バイナリ・ファイル書出モード
for(i=0;i<=UCHAR_MAX;i++)
printf("%3d ",fputc(i,sput));
printf("\n");
return EXIT_SUCCESS;
} // main
実行結果
ファイル "fputc.tes" は書込オープン可能なファイルとします。fputc.tes の中身はバイナリのデータで 0~255 の値が入っています。以下は返却値の値を printf関数で表示したものです。
0 1 2 3 4 5 6 7 8 9 10
11 12 13 14 15 16 17 18 19 20 21
22 23 24 25 26 27 28 29 30 31 32
~(中略)~
231 232 233 234 235 236 237 238 239 240 241
242 243 244 245 246 247 248 249 250 251 252
253 254 255
ファイルを1文字ずつコピーするプログラムです。ファイルの扱いの基本となるプログラムです。
// fputc2.c
#include <stdio.h> // FILE,EOF,fgetc,fopen,fputc
#include <stdlib.h> // EXIT_SUCCESS
int main(int argc,char *argv[])
{
FILE *sget=fopen(argv[1],"r"); // 入力
FILE *sput=fopen(argv[2],"w"); // 出力
while(1)
{
int c=fgetc(sget); // ファイル文字入力
if(c==EOF)break;
fputc(c,sput); // ファイル文字出力
} // while
return EXIT_SUCCESS;
} // main
実行結果
>>fputc2 a b⏎ …… ファイル a を b にコピー
>>■
HIR-NET Home
運営者
オンラインソフト
運営者著書
CG
HIR-NETリンク集
◆リンクは、ご自由にお張りください。
Copyright © 1988-2017 Hirabayashi Masahide プライバシーポリシー