目次
コンピューター上でソフトウェアがインストールされているフォルダーを開くと、実行可能プログラム以外にも多くのファイルがあることがわかりますが、これが、これらのソフトウェアがユーザーの使用状況データを保存できるのに、私たちが自分で作成したプログラムが保存できない理由です。データを保存します。この記事ではC言語を使ってファイルを操作する方法を紹介します。
ファイルはプログラムファイルとデータファイルに分かれており、主にデータファイルを操作します。
ファイルを使用すると、データをコンピュータのハードディスクに直接保存し、データの永続化を実現できます。ファイルを使用するには、まずファイルを開く必要があります。以下は最初の関数 fopen です。
フォーペン
FILE * fopen ( const char * ファイル名, const char * モード );
この関数の機能は、指定したファイルを指定したモードで開くことです。
戻り値はファイルの情報領域へのポインタであり、単純にファイルへのポインタとして理解できます。
filename: 最初のパラメータには、渡すファイルのアドレスと名前 (ファイル接尾辞を含む) が必要です。
相対位置を渡すことができます
int main()
{
//这里的"data.txt"表示的是在当前程序所在的文件夹里面寻找名为data后缀为.txt的文件
FILE* p = fopen("data.txt", "r");
//这里的"..\\data.txt"表示的是在当前程序所在的文件夹的上一级文件夹里面寻找名为data后缀为.txt的文件;..\\表示上一级文件夹.\\表示当前文件夹
FILE* pf = fopen("..\\data.txt", "r");
fcloce(p);
fcloce(pf);
p = NULL;
pf = NULL;
return 0;
}
絶対位置も渡すことができます
FILE* p = fopen("D:\\c&cpp\\c\\data.txt", "w");
fclose(p);
p = NULL;
mode: 2 番目のパラメータでは、このファイルを開くために必要なモードを渡す必要があります。
ファイルの使用方法 | 意味 | 指定したファイルが存在しない場合 |
---|---|---|
「r」(読み取り専用) | データを入力するには、既存のテキスト ファイルを開きます | うまくいかない |
「w」(書き込みのみ) | データを出力するには、テキスト ファイルを開きます | 新しいファイルを作成する |
“a”(追加) | テキストファイルの末尾にデータを追加します | 新しいファイルを作成する |
「rb」(読み取り専用) | データを入力するには、バイナリ ファイルを開きます | うまくいかない |
「wb」(書き込みのみ) | データを出力するには、バイナリ ファイルを開きます | 新しいファイルを作成する |
“ab”(追加) | バイナリファイルの末尾にデータを追加する | 新しいファイルを作成する |
「r+」(読み取りおよび書き込み) | テキスト ファイルを開いて読み取りと書き込みを行う | うまくいかない |
「w+」(読み取りおよび書き込み) | 読み取りおよび書き込み用の新しいファイルを作成します | 新しいファイルを作成する |
「a+」(読み取りおよび書き込み) | ファイルを開く | ファイルの最後で読み書きして新しいファイルを作成します |
「rb+」(読み取りおよび書き込み) | バイナリ ファイルを読み書き用に開きます。 | うまくいかない |
「wb+」(読み取りおよび書き込み) | 読み取りおよび書き込み用の新しいバイナリ ファイルを作成します | 新しいファイルを作成する |
「ab+」(読み取りおよび書き込み) | ファイルの最後でバイナリ ファイルを読み書き用に開きます。 | 新しいファイルを作成する |
ファイルを開くことについて学習しましたが、これは実際には動的メモリ開発と同じです。開いたファイルは、使い終わった後に閉じる必要があり、ファイル ポインタ変数は、ワイルド ポインタになって終了するのを防ぐために空にする必要があります。隠れた危険。以下は、ファイルを閉じる関数の概要です: fclose
f閉じる
int fclose ( FILE * stream );
その機能は、開いているファイルを閉じることです。
stream: ファイルポインタ変数です
戻り値:正常に閉じられた場合は0 を返し、失敗した場合は EOF を返します。
ファイルを読み書きしたい場合は、fgetc、fputc が必要です。
ファイルの読み取りおよび書き込み操作
fgetc
int fgetc ( ファイル * ストリーム );
ファイルを読み取る関数です。指定されたファイルから文字を読み取り、その ASCII コード値を返します。読み取りに失敗した場合は EOF を返します。
fputc
int fputc ( int 文字, FILE * ストリーム );
function 関数は、ファイルに文字を書き込むことです。
文字: 書き込まれる文字の ASCII コード。
stream: 書き込まれるファイルのファイルポインタ。
書き込みが失敗した場合は EOF を返します。
その他の入出力関数
関数 | 関数名 | に適用する |
---|---|---|
文字入力機能 | fgetc | すべての入力ストリーム |
文字出力機能 | fputc | すべての出力ストリーム |
テキスト行入力機能 | fgets | すべての入力ストリーム |
テキスト行出力機能 | fputs | すべての出力ストリーム |
フォーマット入力機能 | fscanf | すべての入力ストリーム |
フォーマット出力機能 | fprintf | すべての出力ストリーム |
バイナリ入力 | 恐れる | 書類 |
バイナリ出力 | fwrite | 書類 |