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,即该文件内容会被清楚;若文件不存在则建立该文件。
#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.
你可以查一下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 *);,你可以一试。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯