永发信息网

c语言中有没有清空文件的函数

答案:5  悬赏:0  手机版
解决时间 2021-02-22 03:36
  • 提问者网友:喧嚣尘世
  • 2021-02-21 16:37
c语言中有没有清空文件的函数
最佳答案
  • 五星知识达人网友:患得患失的劫
  • 2021-02-21 16:46
C语言没有直接可以清空文件内容的函数但可以通过fopen函数带有“w”的打开方式,间接实现清空文件,测试代码如下,
#include
int main(int argc, char *argv[])
{
FILE *fp=NULL;
fp=fopen("out.dat","w");//假设当前目录有out.dat文件,且文件非空
if(!fp)//检查文件打开是否正常
{
printf("文件打开失败,程序退出!\n");
exit(1);
}
printf("文件内容已经清楚!\n");
if(fp)//关闭文件
{
fclose(fp);
fp=NULL;
}
return 0;
}

FILE *fopen( const char *fname, const char *mode );fopen函数打开由fname(文件名)指定的文件,并返回一个关联该文件的流.如果发生错误,fopen返回NULL。
“w”模式打开只写文件,若文件存在则文件长度清为0,即该文件内容会被清楚;若文件不存在则建立该文件。
全部回答
  • 1楼网友:神的生死簿
  • 2021-02-21 20:27
可能您的测试方法不正确,程序运行后,文件a.txt的长度确实是0。
  • 2楼网友:野慌
  • 2021-02-21 19:39
你可以把那个文件删掉 然后再重新创建一个同名的文件 这也相当于是把文件清空了
  • 3楼网友:十鸦
  • 2021-02-21 18:22
fp=fopen("a.txt","w");fclose(fp);
你可以查一下MSDN,的确可以
"w"
Opens an empty file for writing. If the file exists, its contents are destroyed.
  • 4楼网友:往事埋风中
  • 2021-02-21 17:18
fclose(fp);当然不行,它不是清除文件而是关闭文件。fp=fopen("a.txt","w");肯定清除当前目录下名为a.txt文件的内容,只留下一个文件名——你说没有清除那只是路径没有写全——我的工作代码就这样用着:每月1号0点自动清除上月记录,开始本月新记录。如果你说的是连文件名都清除的函数,那叫删除文件,有个函数叫remove(FILE *);,你可以一试。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯