C fopen() 関数と例
の fopen() メソッド C の は、ファイルを開いてさまざまなモードとともに読み取り、書き込みなどのさまざまな操作を実行するために使用されるライブラリ関数です。ファイルが存在する場合、 fopen() 関数は特定のファイルを開き、存在しない場合は新しいファイルが作成されます。
構文
C fopen() の構文は次のとおりです。
FILE * fopen (const char * file_name , const char * mode_of_operation );
パラメーター
このメソッドは、文字ポインター型の 2 つのパラメーターを受け入れます。
- ファイル名: これは C 文字列タイプであり、開く必要があるファイルの名前を受け入れます。
- 動作モード: これも C 文字列タイプで、ファイル アクセスのモードを指します。
以下の表に、C での有効な mode_of_operation 値とその意味を示します。
| オープニングモード | 説明 |
|---|---|
| r | ファイルを検索します。 ファイルを読み取り専用で開きます 。 ファイルが正常に開かれると、 fopen() はファイルをメモリにロードし、ファイル内の最初の文字を指すポインタを設定します。ファイルを開けない場合、fopen() は NULL を返します。 |
| で | ファイルを検索します。ファイルがすでに存在する場合、その内容は上書きされます。ファイルが存在しない場合は、新しいファイルが作成されます。ファイルを開けない場合は NULL を返します。 書き込み専用(読み取り不可)の新しいファイルを作成します。 |
| ある | ファイルを検索します。ファイルが正常に開かれると、 fopen() はファイルをメモリにロードし、ファイル内の最後の文字を指すポインタを設定します。ファイルが存在しない場合は、新しいファイルが作成されます。ファイルを開けない場合は NULL を返します。 ファイルは追加(ファイルの最後に書き込む)目的でのみ開かれます。 |
| r+ | ファイルを検索します。 ファイルを読み取りと書き込みの両方のために開きます 。 正常に開かれた場合、 fopen() はそれをメモリにロードし、その中の最初の文字を指すポインタを設定します。ファイルを開けない場合は NULL を返します。 |
| w+ | ファイルを検索します。ファイルが存在する場合、その内容は上書きされます。ファイルが存在しない場合は、新しいファイルが作成されます。ファイルを開けない場合は NULL を返します。 w と w+ の違いは、w+ を使用して作成されたファイルも読み取ることができることです。 |
| α+ | ファイルを検索します。ファイルが正常に開かれると、 fopen( ) はファイルをメモリにロードし、ファイル内の最後の文字を指すポインタを設定します。ファイルが存在しない場合は、新しいファイルが作成されます。ファイルを開けない場合は NULL を返します。 ファイルは読み取りと追加 (ファイルの最後に書き込み) のために開かれます。 |
| RB | を開きます バイナリ ファイルを読み取りモードで。 ファイルが存在しない場合、open() 関数は NULL を返します。 |
| wb | を開きます バイナリ ファイルは書き込みモードです。 ポインタがファイルの先頭に設定されているため、 内容は上書きされます。 ファイルが存在しない場合は、 新しいファイルが作成されます。 |
| 腹筋 | を開きます 追加モードのバイナリ ファイル。 ファイルポインタが設定されています ファイルの最後の文字の後 。あ 新しいファイルが作成されます その名前のファイルが存在しない場合。 |
| RB+ | を開きます バイナリ ファイルを読み取りおよび書き込みモードで実行します。 ファイルが存在しない場合、open() 関数は NULL を返します。 |
| wb+ | を開きます バイナリ ファイルを読み取りおよび書き込みモードで実行します。 ファイルが存在する場合、内容は上書きされます。ファイルが存在しない場合は作成されます。 |
| 腹部+ | を開きます バイナリ ファイルを読み取りおよび追加モードで実行します。 ファイルが存在しない場合はファイルが作成されます。 |
戻り値
- この関数は、実行が成功した場合に FILE へのポインタを返すために使用され、それ以外の場合は NULL が返されます。
fopen() の例
C
// C program to illustrate fopen()> #include> #include> int> main()> {> > // pointer demo to FILE> > FILE> * demo;> > // Creates a file 'demo_file'> > // with file access as write-plus mode> > demo => fopen> (> 'demo_file.txt'> ,> 'w+'> );> > // adds content to the file> > fprintf> (demo,> '%s %s %s'> ,> 'Welcome'> ,> 'to'> ,> > 'techcodeview.com'> );> > // closes the file pointed by demo> > fclose> (demo);> > return> 0;> }> |
次のコマンドを実行すると、次の名前で新しいファイルが作成されます。 デモファイル.txt 次の内容で:
Welcome to techcodeview.com
ファイルを調べたい場合は、ファイルを開いてその内容を表示する次のコードを実行する必要があります。
C
// C program to illustrate fopen()> #include> int> main()> {> > // pointer demo to FILE> > FILE> * demo;> > int> display;> > // Creates a file 'demo_file'> > // with file access as read mode> > demo => fopen> (> 'demo_file.txt'> ,> 'r'> );> > // loop to extract every characters> > while> (1) {> > // reading file> > display => fgetc> (demo);> > // end of file indicator> > if> (> feof> (demo))> > break> ;> > // displaying every characters> > printf> (> '%c'> , display);> > }> > // closes the file pointed by demo> > fclose> (demo);> > return> 0;> }> |
出力
Welcome to techcodeview.com
C でのファイル処理に関するその他の記事:
- C でのファイル処理の基本
- 書き込みモードの既存ファイルの fopen()
- C の EOF、getc()、および feof()
- ファイルを開くモード (r と r+)