「C言語/ファイル入出力」の版間の差分
削除された内容 追加された内容
→読み込もうとしたファイルが無い場合に、同名のファイルを作成したい場合: 「読み込みモードの対象ファイルが無い場合に、作成したい」と前提が意味不明。また最初の fopenで開いたストリームを始末していない。レースコンディションがある。など問題が多い。 ⇒ コメント化 タグ: 2017年版ソースエディター |
→ファイルのオープン: {{コラム|"stdafx.h"って何?}} タグ: 2017年版ソースエディター |
||
10 行
int main()
{
FILE *
// ここにファイルの操作内容(作成、読み書きなど)を記述。
fclose(
return 0;
}
</syntaxhighlight>
ファイルに読み書きなどの操作するためには、まず、そのファイルをオープンする(開く)
オープンしていない
fopenがファイル操作のためにオープンする関数であるが、これだけではファイル操作をできず、あらかじめ
<code> FILE *
の書式で行う
さて、例えば、
<code> FILE *fp1; </code>
なら、fp1という名の
56 ⟶ 53行目:
int main()
{
FILE *
// ここにファイルの操作内容(作成、読み書きなど)を記述。
fclose(
return 0;
68 ⟶ 63行目:
</syntaxhighlight>
<code>#pragma warning(disable:4996)</code> が、fopenなどの関数の使用許可への
82 ⟶ 77行目:
int main()
{
FILE *fp1 = fopen("test1.txt", "w");
if (fp1 == NULL) {
▲ printf("ファイルを開けませんでした。\n");
system("pause");// 「続行するには何かキーを押してください . . .」の待機命令
return 1;
133 ⟶ 126行目:
さて、このtest1.txtをマウスでクリックして、中身を見ても、まだ何も文章は書き込まれていない事を確認しよう。
{{コラム|"stdafx.h"って何?|プログラムの冒頭で<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)と機能と一致した名前になりました。
いずれにしても、Windows/Visual Studio でプリコンパイルヘッダーを使う状況でしか意味がありませんし、この本で扱うサイズのプリグラムではプリコンパイルヘッダーを使うメリットはありません。}}
== 読み書き ==
|