2008-12-10 71 views

回答

5

您可以使用truncate function

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

从手册页:

“的截断()和ftruncate()函数引起的路径指定的或由FD引用的常规文件被截断的大小的精确长度字节。如果文件以前是超过此大小的,额外的数据丢失。如果文件以前是短,它扩展,并且扩展部分内容空字节”

+0

谢谢,但这是便携式? – codymanix 2008-12-10 23:38:53

3
#include <unistd.h> 
    #include <sys/types.h> 

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

从它的手册页:

的截断()和ftruncate() 功能导致命名 由路径或通过FD引用是 截断为一个尺寸精确 长度字节的常规文件。

如果以前的文件比这个大小大 ,额外的数据是 丢失。如果文件先前为 更短,则将其扩展,并且 扩展部分读取为空字节 ('\ 0')。