c语言怎样清空一个文件,C语言如何清空一个文件的例子

如何使用C语言使一个文件的内容直接就清空了呢?答案就在如下的程序代码中:#include #include #include #include #include #define PATHNAME ./testint main(){

/*********************************************************************

* Author  : Samson

* Date    : 02/12/2015

* Test platform:

*              3.13.0-24-generic

*              GNU bash, 4.3.11(1)-release

* *******************************************************************/

如何使用C语言使一个文件的内容直接就清空了呢?

答案就在如下的程序代码中:

#include

#include

#include

#include

#include

#define PATHNAME "./test"

int main()

{

int ret = open(PATHNAME, O_WRONLY | O_TRUNC);

if(ret == -1)

{

printf("open file is fail!\n");

return -1;

}

close(ret);

return 0;

}

在当前目录下有一个文件名为test的文件,使用ll命令查看一下文件的大小:

ufo@ufo:/tmp$ ll test

-rw-r--r-- 1 ufo ufo 293  2月 12 17:05 test

ufo@ufo:/tmp$ gcc testwrite.c

ufo@ufo:/tmp$ ./a.out

执行后再查看test文件的大小,即已经为0了,使用cat test也是没有内容显示的了。

ufo@ufo:/tmp$ ll test

-rw-r--r-- 1 ufo ufo 0  2月 12 17:05 test

关键在于open函数中的oflag参数,使用man 2 open可以查看到open函数的说明,

O_WRONLY:表示以只写打开文件

O_TRUNC:表示如果open中的参数文件名为pathname的文件存在的话,且为只写或读写成功打开的话,则将其长度截智短为0。也就达到了清空文件内容的目的了。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值