ねもぷらす

ふぁいんでぃんぐねもの日記。プログラミングとか育児とか

C 言語演習プログラム -- 第 5 日目

ファイルの入出力プログラム!業務で使える .exe ファイルを作れるかなー使えないだろうな。
ウワサに聞いていた「ポインタ」の話が5日目にようやく出てきました。

ポインタの話に入る前に一つ勉強に。

exit(0); // 正常終了
exit(1); // 以上終了

なんですか?!エラー処理の基本もメモメモ。

  • エラーの内容を出力表示する
  • プログラムをその場で強制終了する。(exit(1))
  • ファイル操作に使用した関数
#include <stdio.h>   // ファイル入出力用
#include <stdlib.h>  // exit関数用

FILE *fp;                                 // ファイルポインタの宣言
fp = fopen(ファイルパス, オープンモード); // r :読み込み専用
                                          // w :書き出し専用
                                          // a :追加書き出し専用
                                          // rb:バイナリモードで読み込み専用
                                          // wb:バイナリモードで書き出し専用
fclose(ファイルポインタ); // 開けたら閉じる。
fgetc(ファイルポインタ);  // 1文字ずつ読み込む
fgets(変数,読み込み文字数,ファイルポインタ);  // ポインタ位置から読み込み文字数分の文字列を変数に格納する(最後に「\0」)
fputc(書き出す文字, ファイルポインタ);    // 1文字ずつ書き出す。ポインタは次の文字に移動する
fputs(書き出す文字列, ファイルポインタ);  // 文字列を書き出す。文字列の最後には「\0」が入るけど、出力はされない。
                                          // 書き出しに失敗すると負の値が返る

突然 gets() 関数が出てきたんですが、scanf() とどう違うのかよくわかりませんでした。

  • ファイル内文字列検索プログラムで仕様
/* 以下のような書き方を「マクロ」と呼ぶ */
#define FALSE 0  // 文字列"FALSE" を "0" に置き換える
#define TRUE 1   // 文字列"TRUE"  を "1" に置き換える

文字列置換がわかったようなわからないような…後でもう一度調べるー