C言語ファイル

すべてのデータファイルは、機器のほとんどは、ファイルで、あります

すべてがメモリ内で実行されているデータ処理プログラムを実行されます

  1. コンセプトペーパー

    • プログラムを格納するために使用されるファイル、文書、音声、ビデオ、データ、画像およびその他のデータ

    • ファイルは、いくつかのデータのディスクコレクションに保存されています。

  2. ファイルのバッファがそのライブラリ関数が運営するメモリの期間のためのライブラリ関数であり、プログラマが保存する場所を知っている必要はありません、単にファイルの特性を操作することができますいくつかのバッファ時間を必要とします

    • ラインバッファ

      • ライン出力バッファが何であるかIO標準ライブラリ関数、標準出力(スクリーン)までの時間

      • それはリフレッシュバッファを打ったとき、いわゆるラインバッファは、バッファ改行です

    • 完全バッファ

      • 通常のイオ標準ライブラリ関数、ファイルの読み書きデータは、完全にバッファリングされ

      • 改行は、それがバッファをフラッシュし、バッファがいっぱいであることを、バッファをフラッシュしません

      • バッファを更新

        • バッファがいっぱいになると、バッファをフラッシュします

        • 人工リフレッシュバッファにfflush(ファイルポインタ)

        • プログラムはバッファを更新し正常終了します

    • バッファなし

      • システムを通じて(読み書き)10を呼び出し、ファイルを読み書きする際に、ファイルがデータの読み書き

      • この時間は、すぐにデータをメモリに読み込まれ、データはすぐにファイルに書き込まれることを、何のバッファではありません

    • 書き込みファイルのプロセス

      • アプリケーションスペース - >カーネル空間 - >ドライバ - >ハードディスク上

      • 異なる空間で実行されているアプリケーションとカーネルが、目的は、カーネルを保護することです

    • 宛先バッファを設定します。

      • 効率を改善するために、バッファを介してコアのうちの数を減らすことができます

  3. 分類ディスクファイル

    • 名前のストレージ領域のディスク上の通常のファイル

      • 物理的にはバイナリコンピュータメモリなので、すべての物理ディスクファイル本質的に同じ、バイト順次ストアで

      • ユーザーまたはオペレーティングシステムの観点から(論理的に)

        • 文書は分割され

          • テキストファイル

            • などの文字エンコーディング、共通エンコーディングASCII、UNICODE、に基づいて、

            • 一般的に、あなたは直接開くには、テキストエディタを使用することができます

            • 歌詞ファイル(LRC):バイナリファイル

          • バイナリファイル

            • アプリケーションに自分を依存し、値のエンコーディングに基づいて、値を指定するには、何を意味しています

            • メモリにその形状に応じて、メモリに格納されたデータがディスクに出力されます。

            • 一般的に、私たちは自分自身のために判断するか、データ形式を分析するために特定のソフトウェアを使用する必要があります

            • 音声ファイル(mp3):バイナリファイル

            • 画像ファイル(BMP)ファイル、ピクセルは&&&&& ** * ** ##### 2バイトで説明します

              • *赤の値を表します

              • #は、緑の値を表します

              • ブルー値を表し&

              • 意味を表現するバイナリビット

          • テキストファイル、バイナリファイルの比較

            • デコーディング

              • 文字ベースのテキストファイル、固定長符号化、容易に復号することと、

              • バイナリ可変長符号化され、困難な多数のデコード(異なるバイナリファイル形式を、符号化の異なる方法があります)

            • 宇宙利用

              • 平均(ビット演算)で表されるバイナリビット

              • テキストファイルの任意の意味、少なくとも一つの文字

  4. ファイルポインタ

    • ファイル(に代わって)プログラムを示すために使用されるポインタをファイル、ファイルポインタは、開いているファイルである、ファイルポインタは、開いているファイルを表すために使用され、当社の

    • 我々は、ポインタをファイルの読み込み渡し、書き込みをすることを操作、操作するためのファイルポインタは、他の機能をシャットダウンするなど、書き込み、ファイルの読み込みに接近していた場合には、これらの機能が動作するファイルを知っているだろう

    • 定義ファイル・ポインタの一般的な形式

      • FILE *ポインタ変数名

        • 含まれるように大文字の必要性をファイル<stdio.hに>

        • ファイルシステムはtypedefのうちのタイプに関するファイル構造情報を使用して、ファイル名、現在位置のファイル情報を含む構造

        • 操作は、当社が事業をしようとしているファイルポインタのファイルをマークする前に、通常の状況下で、我々はファイルを定義する必要があります

        • 、詳細FILE構造を気にするだけのライブラリ関数IOファイルポインタを渡すようにして、内部情報ファイルFILE構造を操作することなく、ファイルの操作に使用される実際のプログラミングライブラリ関数

        • FILE再びstdio.hのファイル文書型宣言

          • 構造体のtypedef

          • {

          • 学位//バッファ「フル」または「空」、短いレベル

          • 未署名の旗; //ファイル状態フラグ

          • char型のFD; //ファイルディスクリプタ

          • 符号なしcharhold; //何のバッファが文字を読んでいないされていない場合

          • 短いBSIZE; //バッファのサイズ

          • unsigned char *バッファ; //データバッファ位置

          • 符号なしのar *のCURP; //ポインタ、現在の自信

          • 符号なしistemp; //一時ファイル、インジケータ

          • shorttoken; //妥当性をチェックします

          • }ファイル

          • バッファし、システムファイル、各ファイルは、ファイル操作に関連する情報を格納したファイルタイプのメモリ領域を開放するために使用されなければなりません。

      • ステップファイル操作:

        • ファイルポインタのgetファイルの前にファイルを開くには、読み出し動作と書き込み動作

        • あなたは、読み取りのためにファイルを参照するなどのファイル操作を書き込むことができます

        • 読み取りおよび書き込み操作が完了したら、ファイルを閉じ、ファイルをファイルを閉じますできなくなり、ファイルポインタ操作により、

      • サプリメント

        • C言語は、3つのポインタが特殊なファイルを定義する必要があり、プログラムを直接使用することができます

          • STDIN:デフォルトは現在の標準入力端子(キーボード)であります

          • STDOUT:標準出力、デフォルトは現在の端末である(画面)

            • 私たちは、printf関数を使用して、この機能をデフォルトの出力端子を置きます

          • 標準エラー:現在の端末装置に標準エラー出力ファイルのデフォルト(画面)

            • ときに、このターミナルを再度印刷perror関数:我々はプログラムエラーを使用する場合

  5. fopenファイルを開きます。

    • 関数定義:

      • FILEの*の関数fopen(CONSTのchar *パス、CONSTのchar *モード)。

    • 機能説明

      • 関数fopen関数は、既存のファイルを開くことで、(ファイルがマークされている)ファイルへのファイルポインタを返すか、ファイルを作成し、このファイルを開き、マークされたファイルに戻ります

    • 関数のパラメータ

      • パス開いているファイル:パラメータ1

          1. ルートディレクトリのパス名から始まる絶対パス、

            • 「/home/edu/test/test.txt」

          2. 相対パス

            • "./test/test.txt"

            • "../test/test.txt"

      • パラメータ2:ファイルを開く方法、すなわち、どのような方法(読み取り専用、書き込み専用、読み書き、等)ファイルを開きます

  6. ファイルを閉じるfcloseを

    • 関数のヘッダファイル:

      • 書式#include <stdio.hに>

    • 関数定義:

      • int型fcloseを(ファイル* fpは);

    • 関数の説明:

      • 閉じるFPファイルを表します

    • ファイルは、もはや他の操作のためのファイルを読み書きするために参照した後、ファイルのみ、繰り返しシャットダウンしないで、一度閉じていないファイルを閉じることができることに注意してください

    • 戻り値:

      • 成功したリターン0

      • 非0を返すために失敗しました。

    • あなたは、ファイルが正常に閉じられたかどうかを判断するために値を返すことができます

  7. 一度文字を読みます

    • 関数の定義

      • int型のfgetc(FILE *のストリーム)

    • 関数の説明:

      • fgetc関数は、バイト値が返され、示されたストリームファイルからバイトを読み込み、

    • 戻り値:

      • 道のトンで:ファイルがEOFを返すの終わりを読みます

      • Bの方法:読み取るためにファイルの終わり、決定端FEOFを使用して

      • FEOF(ファイルは、ファイルストリームの終わりを読みするかどうかを確認してください)

        • int型FEOF(ファイル*ストリーム)

        • 機能概要:FEOF()は、ファイルの終わりが読み込まれたかどうかを検出するために使用され、ファイルポインタ仮数ストリーム)(のfopenに戻します。ファイルの末尾にゼロ以外の値が返された場合、それ以外の場合は0を返します

        • 戻り値は、ファイルの最後の非ゼロの値を代表に達している返します

    • 関数定義:

      • int型FPUTC(int型C、FILEの*ストリーム)

    • 機能の説明

      • cの値は、で表されるファイルストリームに書き込まれFPUTC

    • 返却値

      • 結果は成功した場合、出力バイトの戻り値

      • 出力が失敗した場合、それはEOFを返します。

  8. 文字列を読み書きします

    • するchar * fgetsの(のchar * sで、int型のサイズ、ファイル*ストリーム);

      • ストリームファイルからの文字がで呼ば読み込み、読んだときには、バイトサイズ-1を停止し、ファイルを読み込み、改行やエンドストップをヒットし、または読み取り、読み取りコンテンツの後ろに文字列の最後として、0 \値になります

      • 戻り値:コピー先の配列の先頭アドレスが正常に戻ったが、それがsであります

        • NULLを返すために失敗しました。

    • int型fputs(のconstのchar * sで、ファイル*ストリーム);

      • 機能:

        • 文字列は、によって表される、ストリーム内のファイルに書き込まれ、Sを指摘しました

      • 返却値

        • バイト数が正常に書かれて返します

        • 返すに失敗-1

  9. 読み込みファイルのfread

    • 関数定義:

      • size_tのの関数fread(ボイド* ptrに、size_tのサイズ、size_tのnmemb個、ファイル*ストリーム);

    • 関数の説明:

      • 関数freadは、ストリームファイルから読み出すデータのサイズを示す1バイトであり、メモリに格納されているnmemb個のブロックの合計は、PTRによって指さ

    • 戻り値:

      • 読みブロックの実際の数

    • 例えば

      • int型NUM;

      • NUM =のfread(STR、100,3、FP)。

      • メモリに格納されたFPによって表されるファイルから読み取られたバイトの数は、それぞれ100バイト、3の合計、NUMの戻り値を、読み出す、をstr指さ

      • 戻り値は300バイトnumの3を読んでいる場合は

      • リード200バイトに等しいより大きい場合、戻り値は、2 300バイトよりも小さくなっています

      • 読み取られたバイトの数は1を返し、より大きいまたは未満200バイトの100バイトに等しいです。

      • 100未満のバイトは0を返します

  10. fwriteの書き込みファイル

    • 関数定義:

      • size_tのfwriteの(ボイド* ptrに、size_tのサイズ、size_tのnmemb個、ファイル*ストリーム);

    • 関数の説明:

      • メモリデータへの関数fwrite ptrにポイントがマークされた文書のストリームに書き込まれます

    • 戻り値:

      • 成功し、実行に失敗した場合、戻り値は、基本的な入力および出力ユニットの数であり、戻り値は0

    • 注意:

      • fwriteの機能は、メモリ内のデータをファイルに出力されます

      • それがメモリに読み込まれるようにfread関数は、データファイルであります

  11. 読み書きする形式のファイル機能

    • 関数呼出し

      • 関数fprintf(ファイルポインタ、書式文字列、出力テーブルの列)。

      • 関数fscanf(ファイルポインタ、書式文字列、テーブル列を入力します)。

    • 機能:

      • ディスクまたは出力ファイルから文字を読みます

    • このような関数fprintfとprintf関数:

      • fprintf関数は、ファイルにデータを出力することであるがprintfのデータは、スクリーン(標準出力)に出力されます。

    • 同様の関数fscanf、scanf関数

      • scanf関数は、キーボード(標準入力)からの入力を取得することで、入力関数fscanfは、ファイルをマークしたファイルポインタから取得されます

  12. ランダム読み取りおよび書き込み

    • ポインタの位置がファイル内に移動することができます読み取りと書き込みの位置にして、読み取りと書き込み、ランダムアクセスと呼ばれる書き込む必要があります。位置ポインタを読み書きするランダムキーは、ファイルを検索するために呼ばれている要件に応じて移動させられます。

    • 完全なファイル位置決め機能は持っています

      • 巻き戻し機能は、書き込み位置をリセット

        • 空巻き戻し(ファイルポインタ);

        • 機能:

          • 最初のファイルへのファイル内のポインタの位置

        • コールの形式:

          • テキストファイルポインタ);

      • ftellは、ファイルの場所ファイルの先頭から測定すると、ファイルの数を読み書きします

        • 定義された関数:

          • 長いftellは(ファイルポインタ);

        • 機能機能

          • 現在、ファイルストリームを取得する必要がある位置を読み取りおよび書き込み

        • 戻り値:

          • (利用可能なバイトのファイル番号から始まる)現在の読み取り位置を返します。

      • fseekを位置特定関数ポインタ(書き込み位置)

        • fseek関数(すなわち、一般的に実施例Bを得るために必要でファイルを開くために使用されるバイナリファイル)

        • 定義関数

          • int型のfseek(FILE *のストリーム、long int型のそこから、オフセット);

          • // int型のfseek(ポインタファイルタイプ、変位量、出発点)

        • 機能:

          • ファイルの書き込み位置

        • パラメータ:

          • 開始位置そこから

            • ファイルSEEK_SET 0の始まり

            • 現在のファイル位置SEEK_CUR 1

            • ファイルSEEK_END 2の終わり

          • 変位量

            • 出発点から開始し、前方、後方のバイトを移動します。それは負でもよいです。負のオフセットするエンド・ファイルの末尾、ファイルを移動する正方向

        • 返却値

          • 呼び出しが成功すると、エラーがerrnoにエラーコードが格納されます、-1が返された場合には、0を返します。

  13. ファイルの暗号化/復号化

    • 対称暗号化システムは、伝統的な古典的な暗号化システム戦略です。対称暗号化方式、すなわち、いわゆるサイドAと暗号化された復号鍵パーティBは、キーを共有します。パーティBは、これにより、平文を生成し、実施の形態の復号化操作の上方生成された暗号化ファイルを暗号化するために同じキーを使用してキーを解読、それによって暗号文を生成し、親展ファイル操作を暗号化する鍵暗号鍵を使用してパーティ

おすすめ

転載: www.cnblogs.com/fengzi759/p/11618722.html
おすすめ