Linux服务器编程之:truncate()函数+案例说明-阿里云开发者社区

开发者社区> 涂作权> 正文

Linux服务器编程之:truncate()函数+案例说明

简介: 1.依赖头文件 #include<unistd.h> #include<sys/types.h> 2.函数定义: int truncate(const char *path,off_t length); int ftruncate(int fd,off_t length); 函数说明: The  truncate()  and ftruncate()
+关注继续查看

1.依赖头文件

#include<unistd.h>

#include<sys/types.h>

2.函数定义:

int truncate(const char *path,off_t length);

int ftruncate(int fd,off_t length);

函数说明:

The  truncate()  and ftruncate() functions cause the regular file named
       by path or referenced by fd to be truncated  to  a  size  of  precisely
       length bytes.

       翻译:truncate()和ftruncate()函数导致一个名称为path或者被文件描述符fd引用的常规文件被截断成一个大小精为length字节的文件。

If  the  file  previously  was larger than this size, the extra data is
       lost.  If the file previously was shorter,  it  is  extended,  and  the
       extended part reads as null bytes ('\0').

       翻译:如果先前的文件大于这个大小,额外的数据丢失。如果先前的文件小于当前定义的大小,那么,这个文件将会被扩展,扩展的部分将补以null,也就是‘\0’

If  the  size  changed,  then the st_ctime and st_mtime fields (respec‐
       tively, time of last status change and time of last  modification;  see
       stat(2)) for the file are updated, and the set-user-ID and set-group-ID
       permission bits may be cleared.

       翻译:如果大小发生变化,那么这个st_ctime(访问时间)和st_mtime()修改时间将会被更新。

With ftruncate(), the file must be open for writing;  with  truncate(),
       the file must be writable.

      翻译:使用ftruncate(),这个文件必须被打开用以写操作。使用truncate函数的文件必须能够被写

3.案例说明:

 







版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
[强烈推荐]ORACLE PL/SQL编程详解之七:程序包的创建与应用(聪明在于学习,天才在于积累!)
原文:[强烈推荐]ORACLE PL/SQL编程详解之七:程序包的创建与应用(聪明在于学习,天才在于积累!) [强烈推荐]ORACLE PL/SQL编程详解之七:   程序包的创建与应用(聪明在于学习,天才在于积累!) ——通过知识共享树立个人品牌。
1208 0
iOS6定位服务编程详解
<p>现在的移动设备很多都提供定位服务,使用iOS系统的iPhone、iPod Touch和iPad都可以提供位置服务,iOS设备能提供3种不同途径进行定位:Wifi, 蜂窝式移动电话基站, GPS卫星</p> <p><span id="more-218"></span></p> <p>iOS不像Android系统在定位服务编程时,可以指定采用哪种途径进行定位。iOS的API把底层这些细节屏蔽
1263 0
一天编程发现的css名称问题,不支持下划线
Button.roomReadyBtn{ skin: Embed(skinClass='RoomReady_Btn'); } 如果改成RoomReady_Btn,则报错Severity and Description Path Resource Location Creation Time Id{ expected.
584 0
Linux下C编程,子进程创建函数fork() 执行解析
最近在看进程间的通信,看到了fork()函数,虽然以前用过,这次经过思考加深了理解。现总结如下: 1.函数本身   (1)头文件   #include  #include   (2)函数原型   pid_t fork( void);  (pid_t 是一个宏定义,其实质是int 被定义在#include中)  返回值: 若成功调用一次则返回两个值,子进程返回0,父进程返回子进程ID;否则,出错返回-1   (3)函数说明   一个现有进程可以调用fork函数创建一个新进程。
662 0
[实变函数]4.2 Egrov 定理
1 一致收敛很重要, 但可惜的是很多时候不一致收敛. 比如 $$\bex f_n(x)=x^n\to f(x)=\sedd{\ba{ll} 0,&x\in [0,1)\\ 1,&x=1 \ea},\quad x\in [0,1]; \eex$$ 但 $f_n$ 在 $[0,1-\delta]$ 上一致收敛!     本节的内容就是把这种现象普适化.
607 0
+关注
涂作权
java,架构,编程语言相关专家
1234
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载