オープンモード "r+" の新規書き込み機能について考察してみよう

🌻   🌻   🌻


次は


オープンモード "r+"の新規書き込み機能について


考察してみようよ\(^o^)/



ソーラー「そうだね


そのためにはまず


次のプログラムをつかって


#pragma warning(disable: 4996)

#include <stdio.h>

int main (void){


FILE *fp;

fp=fopen("TEN-GOGO-C-language.txt","w");

if(fp==NULL){

printf("ファイルオープンに失敗しましたよ~ん\n");

return -1;}

else printf("Hello!ファイルオープンに成功しましたよ~ん\n");


fprintf(fp,"%d\n",1);

fprintf(fp,"%d\n",2);

fprintf(fp,"%d\n",3);

fprintf(fp,"%d\n",4);

fprintf(fp,"%d\n",5);


fclose(fp);

return 0;

}


コンパイル結果


(EAZY IDECの場合)

(Visual Studioの場合)


Hello!ファイルオープンに成功しましたよ~ん



ソーラー「                 

TEN-GOGO-C-language.txtファイルに


数値

1

2

3

4

5


をかきこんでみます」


🌻


データが新規で書き込みできるかを確認するにはまず


ファイルにデータが保存されてないとね。


オープンモード"r+"(新規書き込み機能)でファイルを開くと


その元のデータは消去されて


新たにデータが保存されるんだよね。



                   🌻



ソーラー「


それから


このTEN-GOGO-C-language.txtファイルに


数値

1

2

3

4

5

が書き込まれた状態で


オープンモード"r+"


の新規書き込み機能つかって


さらに

数値

6

7

8

9

10

TEN-GOGO-C-language.txtファイルに


かきこんでみます。


プログラムは以下のようになります


#pragma warning(disable: 4996)

#include <stdio.h>

int main (void){


FILE *fp;

fp=fopen("TEN-GOGO-C-language.txt","r+");

if(fp==NULL){

printf("ファイルオープンに失敗しましたよ~ん\n");

return -1;}

else printf("Hello!ファイルオープンに成功しましたよ~ん\n");


fprintf(fp,"%d\n",6);

fprintf(fp,"%d\n",7);

fprintf(fp,"%d\n",8);

fprintf(fp,"%d\n",9);

fprintf(fp,"%d\n",10);


fclose(fp);

return 0;

}


コンパイル結果


(EAZY IDECの場合)

(Visual Studioの場合)


Hello!ファイルオープンに成功しましたよ~ん


PC内検索で


TEN-GOGO-C-language.txtファイルを探し出し


中身を確認すると


数値


6

7

8

9

10


が保存されているのがわかります


オープンモード"r+"(新規書き込み機能)で


TEN-GOGO-C-language.txtファイルに保存されていた


1

2

3

4

5

が消去されて


6

7

8

9

10


が新たに


ハードディスクのファイルに保存されたというわけです



🌻


オープンモード "r+"は


オープンモード "r"に

オープンモード "w"が追加されたものなのですね


🌼

  • Twitterで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます