「C言語/ファイル入出力」の版間の差分

削除された内容 追加された内容
Ef3 (トーク | 投稿記録)
→‎ファイルのオープン: エラーハンドリングを統一
タグ: 2017年版ソースエディター
11 行
FILE *fp = fopen("開きたいファイル名.拡張子", "モード");
 
if (fp == 0NULL) return 1;{
perror("開きたいファイル名.拡張子 を開けませんでした。\n");
return 1;
}
 
// ここにファイルの操作内容(作成、読書きなど)を記述。
44 ⟶ 47行目:
FILE *fp = fopen("開きたいファイル名.拡張子", "モード");
 
if (fp == 0NULL) return 1;{
perror("開きたいファイル名.拡張子 を開けませんでした。");
return 1;
}
 
// ここにファイルの操作内容(作成、読書きなど)を記述。
67 ⟶ 73行目:
 
int main() {
FILE *fp1fp = fopen("test1.txt", "w");
 
if (fp1fp == NULL) {
perror("ファイルを開けませんでした。\n");
perror("test1.txt を開けませんでした。");
return 1;
}
 
fclose(fp1fp);
}
}</syntaxhighlight>
 
<code>fopen</code> は、モードを "w" で開いた場合、もし対象のファイルが存在しないときは、その名のファイルを新規作成する。
87 ⟶ 95行目:
なお、一般にファイル操作のプログラミングでは、ファイルのオープンに失敗した場合を想定して、そのような処理を書く必要がある。
 
fclose は、ファイルを閉じる関数である。クロり、書き込みモドであればバッファキャッシュをクリアしている最中から、読み出しモードであればそ場でシステムにファイルは、をディスクリログラミングによる読書きなどの操作ターできない返却(closeシステムコール)する
 
読者は、ソースファイルのあるフォルダを確認してみて、"test1.txt"というファイルが作られている事を確認しよう。
 
{{コラム|"stdafx.h"って何?|2=
プログラムの冒頭で<syntaxhighlight lang="C" inline>#include "stdafx.h"</syntaxhighlight> と <code>"stdafx.h"</code> なるヘッダーをインクルードしています。
これはC言語標準にはなく、Windows(Visual Studio)固有のプリコンパイルヘッダーです。stdafx は Standard Application Frameworks の略で、MFC(Microsoft Foundation Class)の使用を想定しているものでした。
VS2019からが、<code>"stdafx.h"</code> から <code>"pch.h"</code>(Pre compile header)と機能と一致した名前になりました。