| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2649 人关注过本帖
标题:有个关于tmpfile创建临时文件的问题?
只看楼主 加入收藏
foxeer
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:107
专家分:136
注 册:2015-12-29
结帖率:90%
收藏
已结贴  问题点数:20 回复次数:7 
有个关于tmpfile创建临时文件的问题?
这个语句在执行fclose后应该自动删除临时文件,可是写个程序发现并没有删除临时文件
下面是我的测试代码。没有粘贴头文件
程序代码:
int main()
{
    FILE *pfile = NULL;
    char content[20] = "mmmmmmm";
    char pcontent[20];
    if (tmpfile_s(&pfile))
    {
        printf_s("Filed to created the temporary file!\n");
        exit(1);
    }
    
    fwrite(content, sizeof(char), strlen(content), pfile);
    rewind(pfile);
    fread(pcontent, sizeof(char), strlen(content), pfile);
    pcontent[strlen(content)] = '\0';
    printf_s("%s\n", pcontent);
    fclose(pfile);
    if (!pfile)
    {
        printf_s("File delete!\n");
    }
    return 0;
}

如果关闭文件后,应该能输出“File delete!”才对,但是结果没有输出。
2016-12-08 16:04
foxeer
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:107
专家分:136
注 册:2015-12-29
收藏
得分:0 
有人明白这个语句吗
2016-12-08 16:12
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10537
专家分:42927
注 册:2014-5-20
收藏
得分:10 
if (!fclose(pfile))
{
    printf_s("File delete!\n");
}
2016-12-08 16:12
grmmylbs
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:54
帖 子:1409
专家分:5845
注 册:2016-2-14
收藏
得分:10 
自动删除文件不等同于帮你把指针清空。
2016-12-08 16:13
foxeer
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:107
专家分:136
注 册:2015-12-29
收藏
得分:0 
回复 3楼 吹水佬
能帮忙解释一下,为什么if(!pfile)不能验证临时文件被删除,谢谢
2016-12-08 16:14
foxeer
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:107
专家分:136
注 册:2015-12-29
收藏
得分:0 
回复 4楼 grmmylbs
如果删除文件,文件指针内容没有了,按道理应该在if语句里按false处理,反义后应该执行if语句花括号的内容呀
2016-12-08 16:17
grmmylbs
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:54
帖 子:1409
专家分:5845
注 册:2016-2-14
收藏
得分:0 
举个例子,给你盖了栋房子,把房子的地址给你,你去住了后把房子拆了,地址还在,房子没了,你判断地址是不为空的。
2016-12-08 16:19
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10537
专家分:42927
注 册:2014-5-20
收藏
得分:0 
以下是引用foxeer在2016-12-8 16:14:43的发言:

能帮忙解释一下,为什么if(!pfile)不能验证临时文件被删除,谢谢

如果要在其他地方检测pfile,要在fclose后主动pfile=NULL
2016-12-08 16:19
快速回复:有个关于tmpfile创建临时文件的问题?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015551 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved