Linux下的C库中是否有可以设置文件长度的函数?在Windows下我知道有一个SetFileLength()函数。 如果没有,在不删除和重写的情况下缩短文件的最佳方式是什么?Linux的C库中的SetFileLength()函数
0
A
回答
5
您可以使用truncate function。
int truncate(const char *path, off_t length);
从手册页:
“的截断()和ftruncate()函数引起的路径指定的或由FD引用的常规文件被截断的大小的精确长度字节。如果文件以前是超过此大小的,额外的数据丢失。如果文件以前是短,它扩展,并且扩展部分内容空字节”
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')。
相关问题
- 1. 在c(linux)中的函数问题
- 2. C/C++中的四元数函数库
- 3. linux c/C++ preg_replace类型的函数?
- 4. C数学库中的中值函数?
- 5. Linux C创建无头文件库的自定义printf函数
- 6. Linux shmget()函数在c + +
- 7. 如何在C用户程序中使用linux库函数?
- 8. c#前端GUI调用linux C++函数
- 9. 静态库中的过度C函数
- 10. 函数C++中的标准库函数的重载
- 11. HTTP解析库的Linux C++
- 12. 在linux中检查库中函数的存在
- 13. C++数学函数问题(在Linux下)
- 14. Java或C#中的基于Linux的mysql数据库
- 15. Linux共享库C++
- 16. 如何在Linux中实现C的getch()函数?
- 17. 如何在Linux中使用c的getch函数?
- 18. Getch()与linux中的显示函数不兼容C++
- 19. 用ns_initparse()函数编译程序C linux
- 20. c#中的PostgreSQL数据库连接代码dotnet linux
- 21. OpenCL的Linux函数截取
- 22. prlimit64()linux函数
- 23. Python的排序函数与Linux的排序函数相同LC_ALL = C
- 24. Linux中的strrev()函数不可用吗?
- 25. 如何回调exe中的函数? (linux)
- 26. C++库中函数的数量的影响
- 27. 关于Linux中的C/C++
- 28. 函数中的C++数组
- 29. 在c/C++中寻找一个开源的Traveling Salesman函数/库?
- 30. 在c程序中获取指向C++函数库的指针
谢谢,但这是便携式? – codymanix 2008-12-10 23:38:53