我有一个包含user1的一些数据的文件。我想通过清除文件的内容来为user2使用相同的文件。我的想法是,当一个新用户到来时,前一个用户的数据应该是清晰的,同样的文件应该为新用户准备好。
wmtdaxz31#
正如@stefan所说,使用fopen()的“w”模式会为你完成这项工作。当你打开一个带有“w”标志的文件时,它会创建一个空文件进行写入。如果一个同名的文件已经存在,它的内容会被擦除,该文件会被视为一个空的新文件。如果文件已经打开,您可以使用stdio. h中的freopen()函数,并使用“w”模式,因为它将首先关闭文件,然后重新打开文件进行写入,并擦除文件中先前存在的内容。
fopen()
freopen()
bxjv4tth2#
fclose(fopen("file.txt", "w"));
为什么这样做:write:为输出操作创建一个空文件。如果已经存在同名文件,则会丢弃其内容,并将该文件视为新的空文件。(引自http://www.cplusplus.com/reference/cstdio/fopen/)
kq4fsx7k3#
使用fopen(filename, flag),只需使用标志= "w"或"wb"打开它,它将被清除
fopen(filename, flag)
"w"
"wb"
z4iuyo4d4#
有两种方法:
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");
eivnm1vs5#
我正在使用:
fp=freopen(NULL,"w",fp);
3lxsmp7m6#
我更喜欢用途:-
system("echo "" > filename_with_complet_path");
6条答案
按热度按时间wmtdaxz31#
正如@stefan所说,使用
fopen()
的“w”模式会为你完成这项工作。当你打开一个带有“w”标志的文件时,它会创建一个空文件进行写入。如果一个同名的文件已经存在,它的内容会被擦除,该文件会被视为一个空的新文件。如果文件已经打开,您可以使用stdio. h中的
freopen()
函数,并使用“w”模式,因为它将首先关闭文件,然后重新打开文件进行写入,并擦除文件中先前存在的内容。bxjv4tth2#
为什么这样做:
write:为输出操作创建一个空文件。如果已经存在同名文件,则会丢弃其内容,并将该文件视为新的空文件。
(引自http://www.cplusplus.com/reference/cstdio/fopen/)
kq4fsx7k3#
使用
fopen(filename, flag)
,只需使用标志="w"
或"wb"
打开它,它将被清除z4iuyo4d4#
有两种方法:
eivnm1vs5#
我正在使用:
3lxsmp7m6#
我更喜欢用途:-