月の上にそれを考えた後、私は最終的には私の最初の先駆者をQiaoxia。
何千人とブログの数千人が、私のブログを見つけるために自分自身のために読み、理解して学習最初に記録された時間で、研究は現在、主にC言語とSTM32。あなたが助けることができるならば、それが最善である私が何か間違ったことを書かなければならない場合は、参照のみのコントラスト、そうしてください繰り返し、私を修正してください。第二に、ここでの記録は学ぶために、私は考えを書き留めますし、友人の秘密のサークルは開くことができないだけではありません!
すぐにテーマに
まず、ファイルは何ですか?
私は人々が、C言語のファイル入出力に接触した場合でも、も答えるために、と信じています。ファイル上でのマウスクリックが何であるかを唯一のものではありません!実際には、すべての権利は、C言語プログラムので、ファイルは、より広範な定義があります。ファイルは通常、ディスクまたはハードドライブ上のストレージ領域と命名されています。
表示するには、通常で、それは珍しいだろう。Cプログラムでは、デバイスはまた、ファイルとして見ることができます!このような画面とキーボードなど。私は私の友人がここで質問してい参照:だからCプログラミング言語を、そしてそれは何を問題ではありませんか?ファイルCプログラム、それの重要性は何ですか?
単に入力ファイルは、プログラムやプログラムの出力を使用してファイルにデータを保存する必要があることを理解。
ファイル1.1の二つの形式
それはそうCプログラムでは、2つだけの文書を形成します。
- テキストファイル
- バイナリファイル
データ内にあるテキストファイルが文字です。 メモリに格納されている対応するASCIIコードに文字を渡します。"ABC"は'A'、 'B'にある 'C' ストレージ
メモリに直接データ内に格納されているバイナリファイル。ASCIIコードに変換することなく、それは機械語(のみ0と1)のように理解することができます。例えば、0,010,011,100,010,000 1000の二進整数に直接メモリに格納されています。
第二に、標準のファイルIO操作を使用して
2.1標準IO (標準ハイレベルI / 0)は何ですか
IO規格は、標準I / O機能パッケージが定義で作成した標準ANSI Cとstdio.hのヘッダファイルです。人気の条件を達成すると、私にはわからない方法として、そのいくつかの操作IOライブラリ関数です。今日は、次の3つの機能の面では:fcloseを()、はfopen()。
対応して、開いているファイルのファイルを閉じる二つの機能を。
第二に、下のIOと呼ばれる標準IOまたはIOファイルが対応している(低レベルI / Oを)。心配する必要はありません。
2.2標準文書
冒頭で述べたように、一部のデバイスは、Cプログラムファイルとして見られています。:だからC言語は、3つの標準ドキュメントを定義し、標準入力(INPUT標準)、標準出力(出力標準)、標準エラー(標準エラー出力)。
対応し、キーボード、スクリーン、スクリーン。しかし、画面に標準エラー出力必須出力(でも他のファイルにリダイレクトはエラーメッセージを表示します)。私たちは理解し説明するために、次の関数を組み合わせて、それは問題ではありません理解していないここを参照してください。
標準のファイル | ファイルポインタ | 機器は、一般的に使用されます |
標準入力 | STDIN | キーボード |
標準出力 | STDOUT | モニター |
標準エラー出力 | 標準エラー出力 | モニター |
ファイルポインタは、特定のポインタをC言語の関数の内部についての話をされようとしています。
三、のfopen()
関数の説明:
開くか、ファイルを作成し、ファイルポインタを返します。
プロトタイプ:
FILEの*の関数fopen(CONST のchar *パス、CONST のchar *モード)。
FILE構造ではありませんが、構造が複雑すぎる、把握する必要。
機能詳細
パラメータ1。 :のconst char型のポインタである*パスは、文字列へのcharショーのポイントは、constのパス文字列を変更するためのポインタ変数を表示することはできません。
この文字列は、あなたが開くまたは作成するために準備する必要があり、ファイルのパスと名前を指定し、例えば、「私は非常に空腹ああ.txtのよ」
パラメータ2:オープンモードを設定します。次のように入力パラメータは以下のとおりです。
モード | 意味 |
「R」 | 読み取り専用 |
「W」 | のみを記述し、そのようなファイルが作成されない、ファイルが空であります |
「A」 | 元のファイルの後ろにコンテンツを追加するだけ書きます。そのようなファイルは、ファイルを作成していません |
「R +」 | ファイルを読み書きします |
「W +」 | 読み取りと書き込みのファイルを、そのようなファイルが作成されず、ファイルが空であります |
「+」 | 読み取りと書き込みのファイルを、元のファイルの後にコンテンツを追加します。そのようなファイルは、ファイルを作成していません |
彼は現在、テキストで開いメンバーであると述べました
"RB"、 "WB"、 "AB"、 "R + B"、 "W + B"、 "+ bは"、バイナリファイルを開くもあります。
パスパラメータがファイル名にパスが含まれていない場合にのみ与えられる相対パス(../fishc.txt)絶対パス(/home/FishC/fishc.txt)であってもよいが、であってもよく、それは意味で現在のファイルフォルダ
戻り値:
1.ファイルが正常に開かれている場合、それはファイルFILE構造体へのポインタを返します。
2.ファイルのオープンに失敗した場合は、NULLが返され、errnoにエラーを指定しました。
たとえば、子供のために:
* FpとFILE; // ファイルポインタの定義 FP =のfopen(「C言語データの.txt 」、「R&LT 」) // 読み取り専用のテキストファイルを開くための方法、および、テキストFPへのポインタを返します
その後、我々はあなたがチューブを達成するためにどのようにように、FPでファイルを操作することができ、次に進みます。今では、実際のtxtファイルを指すFPとして理解することができます。
また、我々はそれらの間の違いを感じるために使用される二番目のパラメータを変更することができます。
四、FCLOSE()
関数の説明:
ファイルを開くには、以前にはfopen()でファイルを閉じます
データ・バッファに近いがプログラムするか、ファイル(文書ファイルデータの前の操作に応じて、ファイルにデータを読み取るか、出力されます)
プロトタイプ:
int型 fcloseを(ファイル* fpは);
機能詳細
パラメータ:ファイルへのファイルポインタ閉じます。例えば、以前のfopen()FPのために作成されたファイルによって、FPは、現在のファイルを閉じ、FP演算をファイルを表しています。
戻り値:
1.0ファイルは閉じられ、成功した場合、戻り値は、
2ファイルが閉じている場合は失敗し、戻り値はEOFで、指定されたエラーをerrnoに設定します。
操作が完了したファイル(後にfcloseをが、指定された場所にバッファ・データに呼ばれていたため)fcloseを使用することを忘れないでください。fopenのとfcloseの最高使用。
次に、私はよく、ああ、言ってfflushは関数やそれに関連するコード例バッファとストリームの私の理解を継続していきます。お楽しみに!