user1のデータの一部を含むファイルがあります。ファイルの内容をクリアして、user2に同じファイルを使用したい。
私の考えでは、新しいユーザーが来たとき、前のユーザーのデータは明確であり、同じファイルが新しいユーザーのために用意されている必要があります。
user1のデータの一部を含むファイルがあります。ファイルの内容をクリアして、user2に同じファイルを使用したい。
私の考えでは、新しいユーザーが来たとき、前のユーザーのデータは明確であり、同じファイルが新しいユーザーのために用意されている必要があります。
@stefanが言ったようfopen()
に、「w」モードで使用するとあなたに代わって仕事をします。「w」フラグの付いたファイルを開くと、書き込み用の空のファイルが作成されます。同じ名前のファイルがすでに存在する場合、その内容は消去され、ファイルは空の新しいファイルとして扱われます。
ファイルがすでに開いている場合はfreopen()
、stdio.hの関数を「w」モードで使用できます。最初にファイルを閉じてから再度開いて、以前にファイルにあったものをすべて消去して書き込みます。
fopen(filename, flag)
flag ="w"
またはで開くだけで"wb"
、クリアされます
fclose(fopen("file.txt", "w"));
これが機能する理由:
書き込み:出力操作用の空のファイルを作成します。同じ名前のファイルがすでに存在する場合、その内容は破棄され、ファイルは新しい空のファイルとして扱われます。
2つの方法があります:
1. fd=open(filename,O_RDONLY | O_WRONLY | O_TRUNC);
2. [cat /dev/null > filename] for BASH. It can be directly used in c program using [system()] system call.
system("cat /dev/null > filename");
使ってます:
fp=freopen(NULL,"w",fp);