文件的截取

简介: 文件的截取

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
点击复制复制失败已复制


提示

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

目录
相关文章
|
5月前
|
C#
C#有关字符串的分割,替换,截取
C#有关字符串的分割,替换,截取
|
5月前
|
关系型数据库 MySQL 数据库
MySQL数据库-截取字符串
MySQL数据库-截取字符串
54 0
|
12月前
|
C#
C# 截取图片斜距形
C# 截取图片斜距形 需要:从一张大图中截取出某一区域的图片 前提:.Net framework 4.8 及以上 示例代码:private static void ImageCutRectangle() { // 打开待截取的大图 using (Image seatImg = Image.FromFile("4.jpg")) ...
71 0
C# 截取图片斜距形
|
数据处理
在WXML里面截取字符串
在WXML里面截取字符串
103 0
|
14天前
|
存储 JavaScript
js切割截取字符串方法
js切割截取字符串方法
|
5月前
|
JavaScript 前端开发 API
js截取图片地址后面的参数和在路径中截取文件名或后缀名
在处理网页上的图片资源或者其他类型的文件资源时,你可能会遇到需要使用这些技巧的情况。以下是一些具体的使用场景:
137 0
|
5月前
|
索引 Python
字符串:比较、拼接、切割、转义字符;相关切割、替换、查找、去除空白、转大小写函数的方法
字符串:比较、拼接、切割、转义字符;相关切割、替换、查找、去除空白、转大小写函数的方法
31 0
|
5月前
QString字符串的查找与截取实例
QString字符串的查找与截取实例
203 1
|
5月前
|
人工智能
将字符串a复制到字符串b
将字符串a复制到字符串b。
109 5
|
Java
截取字符串中的部分信息
截取字符串中的部分信息
69 0