我有一个包含一些 user1 数据的文件。我想通过清除文件的内容为 user2 使用相同的文件。
我的想法是,当新用户到来时,前一个用户的数据应该是清晰的,并且应该为新用户准备好相同的文件。
我有一个包含一些 user1 数据的文件。我想通过清除文件的内容为 user2 使用相同的文件。
我的想法是,当新用户到来时,前一个用户的数据应该是清晰的,并且应该为新用户准备好相同的文件。
正如@stefan 所说,使用fopen()
“w”模式将为您完成这项工作。当您打开带有“w”标志的文件时,它会创建一个用于写入的空文件。如果已存在同名文件,则其内容将被删除,并将该文件视为一个空的新文件。
如果文件已经打开,您可以使用freopen()
带有“w”模式的 stdio.h 中的函数,因为它将首先关闭文件,然后重新打开它以写入擦除之前文件中的任何内容。
只需fopen(filename, flag)
用 flag="w"
或打开它"wb"
,它就会被清除
fclose(fopen("file.txt", "w"));
为什么这样有效:
write:为输出操作创建一个空文件。如果已存在同名文件,则丢弃其内容,并将该文件视为新的空文件。
有两种方法:
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);