文件的截取

简介: 文件的截取

Linux 系统有时会在文件尾端截去一些数据以缩短文件。为了截短文件,可以调用 truncate() 函数和 ftruncate() 函数。

#include <unistd.h>
#include <sys/types.h>
int truncate(const char *path, off_t length);
int ftruncate(int fd, off_t length);点击复制复制失败已复制


这两个函数的功能为将路径名 path 或打开的文件描述符 fd 所指定的一个现存文件截短为 length 长度。如果该文件以前的长度大于 length ,则 length 以外的数据就不再能存取;如果该文件以前的长度小于 length ,则对该文件进行扩展,扩展部分将被填写为空字符'\0' )。


示例

首先建立测试文件: test.txt ,写入如下内容:

hello world
hello world点击复制复制失败已复制


接下来新建 main.c 文件,写入如下内容:

#include <stdio.h>
#include <sys/types.h>
int main(int argc, const char *argv[]) {
  off_t offset = 12;
  if (truncate(argv[1], offset) < 0) {
    printf("truncate error\n");
    return -1;
  }
  return 0;
}点击复制复制失败已复制


编译测试:

$ gcc main.c
$ ./a.out test.txt点击复制复制失败已复制


再次查看 test.txt 文件,就会发现里面的内容变成这样:

hello world
点击复制复制失败已复制


提示

注意原版和修改后的文件有空行的区别!!!

目录
相关文章
|
8月前
|
C#
C#有关字符串的分割,替换,截取
C#有关字符串的分割,替换,截取
|
C#
C# 截取图片斜距形
C# 截取图片斜距形 需要:从一张大图中截取出某一区域的图片 前提:.Net framework 4.8 及以上 示例代码:private static void ImageCutRectangle() { // 打开待截取的大图 using (Image seatImg = Image.FromFile("4.jpg")) ...
86 0
C# 截取图片斜距形
|
4月前
|
存储 JavaScript
js切割截取字符串方法
js切割截取字符串方法
64 2
|
8月前
|
JavaScript 前端开发 API
js截取图片地址后面的参数和在路径中截取文件名或后缀名
在处理网页上的图片资源或者其他类型的文件资源时,你可能会遇到需要使用这些技巧的情况。以下是一些具体的使用场景:
210 0
|
8月前
QString字符串的查找与截取实例
QString字符串的查找与截取实例
292 1
|
Java
截取字符串中的部分信息
截取字符串中的部分信息
81 0
ffmpeg 截取视频片段
ffmpeg 截取视频片段
650 0
|
测试技术
软件测试面试题:如果截取某一个元素的图片,不要截取全部图片
软件测试面试题:如果截取某一个元素的图片,不要截取全部图片
148 0
|
前端开发
Selenium系列(八) - 截取完整页面和截取指定元素并保存为图片
Selenium系列(八) - 截取完整页面和截取指定元素并保存为图片
599 0