普通文件或共享内存区的大小都可以通过该函数修改

#include <unistd.h>

int ftruncate(int fd,off_t leght);
//成功返回0失败返回-1
  1. 对于一个普通文件,如果该文件的大小大于lenght参数,额外的数据就会被丢弃,如果该文件的大小小于lenght,那么该文件是否修改及其大小是否增长是未加说明的。实际上对于普通文件来说,把他的大小扩展到length字节的可移植方法是:先lseek到偏移字节lenght-1处,然后write 1个字节的数据,如果大小被扩展,那么扩展的部分显得好像已用0填写过
  2. 对于一个共享内存区对象:ftruncate把该对象的大小设置为length字节,如果共享内存区被扩展,那么扩展部分全为0

ftruncate的更多相关文章

  1. ftruncate(改变文件大小)

    ftruncate(改变文件大小) 定义函数 int ftruncate(int fd,off_t length); 函数说明 ftruncate()会将参数fd指定的文件大小改为参数length指定 ...

  2. 截断文件函数truncate和ftruncate

    两个函数目的都是将文件大小设置为length参数指定的值 int truncate(const char *pathname,off_t length)//pathname就是路径 int ftrun ...

  3. 【转】fileno函数与ftruncate函数

      fileno函数与ftruncate函数 2011-10-25 10:03:33 分类: LINUX fileno()函数 功    能:把文件流指针转换成文件描述符相关函数:open, fope ...

  4. Linux C ftruncate 函数清空文件注意事项(要使用 lseek 重置偏移量)

    转载:http://blog.csdn.net/a_ran/article/details/43562429 int truncate(const char *path, off_t length); ...

  5. 文件权限控制篇access alphasort chdir chmod chown chroot closedir fchdir fchmod fchown fstat ftruncate getcwd

    access(判断是否具有存取文件的权限) 相关函数 stat,open,chmod,chown,setuid,setgid 表头文件 #include<unistd.h> 定义函数 in ...

  6. f-stack中nginx配置后make出现error: ignoring return value of ‘ftruncate’

    问题 Nginx 配置后 make 出现error: src/os/unix/ngx_process_cycle.c: In function 'ngx_start_worker_processes' ...

  7. Python os.ftruncate() 方法

    概述 os.ftruncate() 裁剪文件描述符fd对应的文件, 它最大不能超过文件大小.高佣联盟 www.cgewang.com Unix, Windows上可用. 语法 ftruncate()方 ...

  8. PHP ftruncate() 函数

    定义和用法 ftruncate() 函数把打开文件截断到指定的长度. 如果成功则返回 TRUE,如果失败则返回 FALSE. 语法 ftruncate(file,size) 参数 描述 file 必需 ...

  9. [APUE]文件和目录(上)

    一.文件权限 1. 各种ID 我在读这一章时遇到了各种ID,根据名字完全不清楚什么意思,幸好看到了这篇文章,http://blog.csdn.net/ccjjnn19890720/article/de ...

随机推荐

  1. Delphi10.2 关于Http 下载

    演示如图: 代码如下: unit Unit1; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Vari ...

  2. 18.Canny边缘检测

    Canny边缘检测算法以Canny的名字命名,其中Canny的目标是找到一个最优的边缘检测算法,其有三种衡量标准: 低错误率:标识出尽可能多的实际边缘,同时尽可能的减少噪声产生的误报 高定位性:标识出 ...

  3. jmeter的学习路线

  4. ./sample_mnist: error while loading shared libraries: libnvinfer.so.4: cannot open shared object file: No such file or directory

    Your library is a dynamic library. You need to tell the operating system where it can locate it at r ...

  5. selenium中切换浏览器不同tab 的操作

    from selenium import webdriverimport timedriver=webdriver.Chrome()driver.get('http://ui.imdsx.cn/uit ...

  6. Redis高可用方案----Redis主从+Sentinel+Haproxy

    安装环境 这里使用三台服务器,每台服务器上开启一个redis-server和redis-sentinel服务,redis-server端口为6379,redis-sentinel的端口为26379. ...

  7. C# socket通讯 send方法记录

    由于本人是Java入门的开发,在C#开发中遇到的问题,在此记录一下: 1.client端的send方法不管发送出去没发送出去,总是显示发送出去. 查资料得知,send方法是将数据发送到缓存区,并不是直 ...

  8. 一些面试题(关于string的)

    一些常见的面试题: String a = "hello2"; String b = "hello" + 2; System.out.println(a == b ...

  9. python 将汉字转换为拼音

    xpinyin提供把汉字转为汉语拼音的功能. 安装此模块 pip install xpinyin简单用例: from xpinyin import Pinyin pin = Pinyin() test ...

  10. java-14习题

    .使用TreeSet集合生成一个不重复随机数组,该数组包含10个100以内的随机整数.输出该随机数组. import java.util.Iterator; import java.util.Tree ...