-
直接转换法:从数据流图到模块结构图的文件截短技术
资源介绍
4.13 文件截短
有时我们需要在文件尾端处截去一些数据以缩短文件。将一个文件的长度截短为 0是一个
特例,用O _ T R U N C标志可以做到这一点。为了截短文件可以调用函数 t r u n c a t e和f t r u n c a t e。
#include
#include
int truncate(const char *p a t h n a m e, off_t l e n g t h) ;
int ftruncate(int f i l e d e s, off_t l e n g t h) ;
两个函数返回;若成功则为 0,若出错则为-1
这两个函数将由路径名 p a t h n a m e或打开文件描述符 f i l e d e s指定的一个现存文件的长度截短为
l e n g t h。如果该文件以前的长度大于 l e n g t h,则超过 l e n g t h以外的数据就不再能存取。如果以前
的长度短于 l e n g t h,则其后果与系统有关。如果某个实现的处理是扩展该文件,则在以前的文
件尾端和新的文件尾端之间的数据将读作0 (也就是在文件中创建了一个空洞 )。
S V R 4和4 . 3 + B S D提供了这两个函数。它们不是P O S I X . 1或X P G 3的组成部分。
S V R 4截短或扩展一个文件。 4 . 3 + B S D只用这三个函数截短一个文件——不能
用它们扩展一个文件。
U N I X从来就没有截短文件的一种标准方法。完全兼容的应用程序必须对文件
制作一个副本,在制作它时只复制所希望的数据字节。
S V R 4的f c n t l中有一个P O S I X . 1没有规定的命令F _ F R E E S P,它允许释放一个文
件中的任何一部分,而不只是文件尾端处的一部分。
6 8 U N I X环境高级编程
- 上一篇: 成绩管理系统-答辩PPT
- 下一篇: 【Linux环境编程入门】四、文件操作的系统调用 - 源代码