文件和目录之文件截短

有时我们需要在文件尾端截去一些数据以缩短文件。将一个文件清空为0是一个特例,在打开文件时使用O_TRUNC标志可以做到这一点。

#include <unistd.h>
int truncate( const char *pathname, off_t length );
int ftruncate( int filedes, off_t length );
两个函数的返回值:若成功则返回0, 若出错则返回-1

这两个函数将把现有的文件长度截短为length字节。如果该文件以前的长度大于length,则超过length以外的数据就不再能访问。如果以前的长度短于length,则其效果与系统有关。遵循XSI的系统将增加该文件的长度。若UNIX系统实现扩展了该文件,则在以前的文件尾端和新的文件尾端之间的数据将读作0(也就是可能在文件中创建了一个空洞)。

posted @ 2014-01-02 22:25  ITtecman  阅读(606)  评论(0编辑  收藏  举报