• ベストアンサー

fopenのモード文字列について

fopenのモード文字列が w の時について何ですが、 #include <stdio.h> int main(void){ FILE *fp; fp=fopen("test.txt","w"); fclose(fp); return 0; } でファイルを作成した時 作成したファイルと同じディレクトリーに同じ名前のファイルが 存在するときは元のファイルに上書き(?)してファイルが作成されますよね? これは1度元のファイルを削除してから新たにファイルを作成しているのか、それとも元ファイルを空にしただけなのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • aigaion
  • ベストアンサー率47% (287/608)
回答No.1

ファイルが存在する場合は,そのファイルの上書きします. Cの仕様上はファイルサイズを0にしてから書き込みを行うとなっていますね. Linuxなどで,ファイルを作成してから別ユーザで,それをfopenで読み出しても ファイルの所有者が変わっていないことからもそうなっていることがわかりますね.

nesnes
質問者

お礼

わざわざ些細な質問お答えいただき、ありがとうございました

関連するQ&A