文件截短-hds ams 2500用户手册
文件截短有时我们需要在文件尾端截去一些数据以缩短文件。将一个文件的长度截短为0是一个特例,用O_TRUNC标志可以做到这一点。为了截短文件可以调用函数truncate和ftruncate。两个函数返回;若成功则为0,若出错则为-1。这两个函数将由路径名pathname或打开文件描述符filedes指定的一个现存文件的长度截短为length。如果该文件以前的长度大于length,则超过length以外的数据就不再能存取。如果以前的长度短于length,则其后果与系统有关。如果某个实现的处理是扩展该文件,则在以前的文件尾端和新的文件尾端之间的数据将读作0 (也就是在文件中创建了一个空洞)。SVR4和4.3+BSD提供了这两个函数。它们不是POSIX.1或XPG3的组成部分。
SVR4截短或扩展一个文件,而4.3+BSD只用这三个函数截短一个文件——不能用它们扩展一个文件。UNIX从来就没有截短文件的一种标准方法。完全兼容的应用程序必须对文件制作一个副本,在制作它时只复制所希望的数据字节。SVR4的fcntl中有一个POSIX.1没有规定的命令F_FREESP,它允许释放一个文件中的任何一部分,而不只是文件尾端处的一部分。要了解更多有关如何在UNIX系统中进行文件截短的详细方法,可以参考C语言库函数unix常用系统调用或UNIX系统调用大全中相关内容。
您是否知道,Unix的文件截短方法竟如此复杂?在某些情况下,为了确保文件长度合适,还可能需要参考Linux系统函数调用文件操作中的详细操作步骤。要深入了解截短技术的应用,请查阅unix编程技术。
下载地址
用户评论