getc と putc
基本的な使い方は、“第四章 getchar ,putchar”とまったく同じです。
getchar ,putchar と同じなので、日本語は扱えません。
a.txt というファイルが存在して、次のように “a” と書いてあるとします。
<a.txt>
このようなファイルが存在するとして、次のプログラムを見てください。
<getc,putc>
#include<stdio.h>
#include<stdlib.h> /* exit を用いるときに必要
*/
main()
{
FILE *fp;
int c;
/* a.txt ファイルを読み込みモードで開く */
if((fp=fopen("a.txt","r"))==NULL)
{
printf("ファイルを開けません\n");
exit(1); /*
ファイルが開けないときプログラムを終了させる */
}
c=getc(fp); /* アドレスfpにあるファイルから一文字読み込む
*/
fclose(fp); /* ファイルを閉じる
*/
/* b.txt ファイルを書き込みモードで開く */
if((fp=fopen("b.txt","w"))==NULL)
{
printf("ファイルを開けません\n");
exit(1); /*
ファイルが開けないときプログラムを終了させる */
}
putc(c,fp); /* アドレスfpにあるファイルへ一文字書き込む
*/
fclose(fp); /* ファイルを閉じる
*/
} |
<実行結果>
実行すると、b.txt というファイルが作られ、中に a と書き込まれています。
もし、b.txt というファイルが実行前にあったならば、
前の内容が消され、a と書き込まれています。
getchar ,putchar と違うのは ( ) 内に fp があることだけです。
ここで、注意してほしいのですが、
ファイルを開くときは、ファイルが開けなかったときの処理を必ず書いてください。
こうすることで、おかしな処理をしてしまうことがなくなります。
if((fp=fopen("a.txt","r"))==NULL)
{
exit(1);
} |
ここで exit( ); は、stdlib.h 内に定義されており、
プログラムが正常な状態で終了させるときは exit(0);
異常な状態が起こった場合は、exit(1); など 0 以外の整数を用います。 |
|