26

user1のデータの一部を含むファイルがあります。ファイルの内容をクリアして、user2に同じファイルを使用したい。

私の考えでは、新しいユーザーが来たとき、前のユーザーのデータは明確であり、同じファイルが新しいユーザーのために用意されている必要があります。

4

5 に答える 5

50

@stefanが言ったようfopen()に、「w」モードで使用するとあなたに代わって仕事をします。「w」フラグの付いたファイルを開くと、書き込み用の空のファイルが作成されます。同じ名前のファイルがすでに存在する場合、その内容は消去され、ファイルは空の新しいファイルとして扱われます。

ファイルがすでに開いている場合はfreopen()、stdio.hの関数を「w」モードで使用できます。最初にファイルを閉じてから再度開いて、以前にファイルにあったものをすべて消去して書き込みます。

于 2011-01-27T11:25:11.447 に答える
17

fopen(filename, flag)flag ="w"またはで開くだけで"wb"、クリアされます

于 2011-01-27T10:38:16.637 に答える
14
fclose(fopen("file.txt", "w"));

これが機能する理由:

書き込み:出力操作用の空のファイルを作成します。同じ名前のファイルがすでに存在する場合、その内容は破棄され、ファイルは新しい空のファイルとして扱われます

( http://www.cplusplus.com/reference/cstdio/fopen/からの引用)

于 2014-10-13T14:57:26.577 に答える
5

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");   
于 2013-06-24T10:11:34.853 に答える
2

使ってます:

fp=freopen(NULL,"w",fp);
于 2019-09-28T17:31:15.783 に答える