ftruncate(改变文件大小)】的更多相关文章

ftruncate(改变文件大小) 定义函数 int ftruncate(int fd,off_t length); 函数说明 ftruncate()会将参数fd指定的文件大小改为参数length指定的大小. 参数fd为已打开的文件描述词,而且必须是以写入模式打开的文件. 如果原来的文件大小比参数length大,则超过的部分会被删去. 返回值 执行成功则返回0,失败返回-1,错误原因存于errno. 错误代码 EBADF 参数fd文件描述词为无效的或该文件已关闭. EINVAL 参数fd 为一s…
body, table{font-family: 微软雅黑; font-size: 10pt} table{border-collapse: collapse; border: solid gray; border-width: 2px 0 2px 0;} th{border: 1px solid gray; padding: 4px; background-color: #DDD;} td{border: 1px solid gray; padding: 4px;} tr:nth-child(…
一.IO与文件映射 1.IO的共享与效率 read与write其中数据缓冲的大小 读取数据的缓冲:getpagesize 2.定位与定位读取(随机读取) read与write在操作的时候,自动移动读取位置. lseek读取定位,改变读取位置. pread/pwrite在指定位置读写. lseek函数说明:返回当前读取位置在文件中的绝对位置 off_set  lseek(int fd,//定位文件描述符号 off_t off,// 定位位置 int whence/ 文件开始位置/文件结束位置/文件…
版权声明:本文为CSDN博主(天才2012)原创文章,未经博主同意不得转载. https://blog.csdn.net/gzzaigcn/article/details/27113957 寥寥数笔,记录我的C语言盲点笔记,仅仅为曾经经历过,亦有误,可交流. Linux以下的文件换行符为\n(0x0a),差别于window以下的\n\r(两个字节) Linux以下EOF 为-1二进制文件为0xff.(-1补码) EOF是文本文件结束的标志.window下在文本文件里.数据是以字符的ASCⅡ代码值…
(1)字符测试函数 isalnum(测试字符是否为英文字母或数字) isalpha(测试字符是否为英文字母) isascii(测试字符是否为ASCII码字符) isblank(测试字符是否为空格字符) iscntrl(测试字符是否为ASCII码的控制字符) isdigit(测试字符是否为阿拉伯数字) isgraph(测试字符是否为可打印字符) islower(测试字符是否为小写英文字母) isprint(测试字符是否为可打印字符) isspace(测试字符是否为空格字符) ispunct(测试字…
目录 第1章 字符测试函数 isalnum(测试字符是否为英文字母或数字) isalpha(测试字符是否为英文字母) isascii(测试字符是否为ascii码字符) isblank(测试字符是否为空格字符) iscntrl(测试字符是否为ascii码的控制字符) isdigit(测试字符是否为阿拉伯数字) isgraph(测试字符是否为可打印字符) islower(测试字符是否为小写英文字母) isprint(测试字符是否为可打印字符) isspace(测试字符是否为空格字符) ispunct…
(1)字符测试函数 isalnum(测试字符是否为英文字母或数字) isalpha(测试字符是否为英文字母) isascii(测试字符是否为ASCII码字符) isblank(测试字符是否为空格字符) iscntrl(测试字符是否为ASCII码的控制字符) isdigit(测试字符是否为阿拉伯数字) isgraph(测试字符是否为可打印字符) islower(测试字符是否为小写英文字母) isprint(测试字符是否为可打印字符) isspace(测试字符是否为空格字符) ispunct(测试字…
(1)字符测试函数 isalnum(测试字符是否为英文字母或数字) isalpha(测试字符是否为英文字母) isascii(测试字符是否为ASCII码字符) isblank(测试字符是否为空格字符) iscntrl(测试字符是否为ASCII码的控制字符) isdigit(测试字符是否为阿拉伯数字) isgraph(测试字符是否为可打印字符) islower(测试字符是否为小写英文字母) isprint(测试字符是否为可打印字符) isspace(测试字符是否为空格字符) ispunct(测试字…
Linux C函数库参考手册  [转自ChinaUnix]第1章字符测试函数isalnum(测试字符是否为英文字母或数字)isalpha(测试字符是否为英文字母)isascii(测试字符是否为ASCII码字符)isblank(测试字符是否为空格字符)iscntrl(测试字符是否为ASCII码的控制字符)isdigit(测试字符是否为阿拉伯数字)isgraph(测试字符是否为可打印字符)islower(测试字符是否为小写英文字母)isprint(测试字符是否为可打印字符)isspace(测试字符是…
1. 字符测试函数 函数 说明 isascii() 判断字符是否为ASCII码字符 2. 字符串操作 函数 说明 gcvt() 将浮点型数转换为字符串(四舍五入) index() 查找字符串并返回首次出现的位置 rindex() 查找字符串并返回最后一次出现的位置 strcasecmp() 判断字符串是否相等(忽略大小写) strcpy() 复制字符串 strdup() 复制字符串 strncasecmp() 比较字符串的前n个字符 3. 内存管理函数 函数 说明 getpagesize() 取…
一,进程控制 1)getpid,getppid--获取进程识别号 #include <sys/types.h> #include <unistd.h> pid_t getpid(void); 获取进程标识号.这可以作为一个独一无二的临时文件名. pid_t getppid(void); 获取父进程标示号.   2)fork--创建一个子进程 #include <sys/types.h> #include <unistd.h> pid_t fork(void)…
  fileno函数与ftruncate函数 2011-10-25 10:03:33 分类: LINUX fileno()函数 功    能:把文件流指针转换成文件描述符相关函数:open, fopen表头文件:#include 定义函数:int fileno(FILE *stream)函数说明:fileno()用来取得参数stream指定的文件流所使用的文件描述词返回值  :返回和stream文件流对应的文件描述符.如果失败,返回-1.范例:#include main(){     FILE …
access(判断是否具有存取文件的权限) 相关函数 stat,open,chmod,chown,setuid,setgid 表头文件 #include<unistd.h> 定义函数 int access(const char * pathname,int mode); 函数说明 access()会检查是否可以读/写某一已存在的文件.参数mode有几种情况组合,R_OK,W_OK,X_OK 和F_OK.R_OK,W_OK与X_OK用来检查文件是否具有读取.写入和执行的权限.F_OK则是用来判断…
catalog . 引言 . Linux平台上涉及的File IO操作 . Windows平台上涉及的File IO操作 0. 引言 本文试图讨论在windows.linux操作系统上基于C库进行文件IO操作时,可能遇到的错误,及其解决方法,主机安全攻防产品除了需要将安全攻防上的领域知识固化到程序实现上之外,还极度依赖关联系统本身.编程语言库的特性,原则上,并不是所有的安全需求都能100%地落实到程序设计中,这需要我们对操作系统.编程语言本身具有较深的理解 Relevant Link: http…
1 文件描述符 内核为每个进程维护一个已打开文件的记录表(实现为结构体数组),文件描述符是一个较小的正整数(0-1023)(结构体数组下标),它代表记录表的一项,通过文件描述符和一组基于文件描述符的文件操作函数,就可以实现对文件的读.写.创建.删除等操作. 常用基于文件描述符的函数有open(打开).creat(创建).close(关闭).read(读取).write(写入).ftruncate(改变文件大小).lseek(定位).fsync(同步).fstat(获取文件状态).fchmod(权…
dup ,dup2,fcntl,ioctl系统调用 . dup ,dup2 函数 int dup(int oldfd) int dup(int oldfd , int newfd) dup用来复制参数oldfd的文件描述符duo2可以用newfd来指定新文件描述符的数值 2.fcntl函数对已经打开的文件描述符进行各种控制操作,以及改变已经打开文件的各种属性 3.ioctl函数控制设备,不能用其他函数进行控制操作都可以用ioctl来进行 3.文件属性的操作 1.  shell里可通过ls来获取文…
MySQL purge log简单吗? 简单: purge log的功能很简单,purge master logs to 指定一个binlog,然后删除之前的文件系统上的binlog文件,并更新binlog.index文件. 复杂: 需要保证purge的原子操作吗, 怎么保证, 有崩溃恢复吗? 之前没有读过代码,想到代码实现上会遇到的问题: 问题1: 如果删除文件比较多,怎么平衡加锁的时间? 问题2: 怎么保证os文件删除和index文件的同步? 问题3: 怎么保证index文件写入是完整的?…
body, table{font-family: 微软雅黑; font-size: 10pt} table{border-collapse: collapse; border: solid gray; border-width: 2px 0 2px 0;} th{border: 1px solid gray; padding: 4px; background-color: #DDD;} td{border: 1px solid gray; padding: 4px;} tr:nth-child(…
文件描述符的复制 MMAP文件映射 ftruncate修改文件大小 文件描述符的复制 ​ 系统调用函数dup和dup2可以实现文件描述符的复制,经常用来重定向进程的stdin(0), stdout(1), stderr(2). ​ dup返回新的文件描述符(没有使用的文件描述符的最小编号).这个新的描述符是旧文件描述符 的拷贝.这意味着两个描述符共享同一个数据结构. ​ dup2允许调用者用一个有效描述符(oldfd)和目标描述符(newfd),函数成功返回时,目标描述符将变成旧描述符的复制品,…
概要: 打开.创建和关闭文件 读写文件 文件定位 获取文件信息 打开.创建和关闭文件 函数原型: #include <sys/types.h> //头文件 #include <sys/stat.h> #include <fcntl.h> int open(const char *pathname, int flags); //文件名 打开方式 int open(const char *pathname, int flags, mode_t mode);//文件名 打开方…
相关函数:open, ftruncate 表头文件:#include <unistd.h> 定义函数:int truncate(const char *path, off_t length); truncate("/aaa",500); 函数说明:truncate()会将参数path指定的文件大小改为参数length指定的大小. 如果原来的文件大小比参数length大,则超过的部分会被删除 返回值:执行成功则返回0, 失败返回-1, 错误原因存于errno 错误代码:EAC…
14.1 Introduction 这一章介绍的内容主要有nonblocking I/O, record locking, I/O multiplexing, asynchronous I/O, the readv and writev, memory-mapped I/O 这一章是后面章节的基础,也就是说先当成基础记着,在后面的实操应用章节再去体会. 14.2 Nonblocking I/O "blocking"主要针对slow system call,含义是“the slow sy…
格式化读写: #include <stdio.h> int printf(const char *format, ...);                   //相当于fprintf(stdout,format,-); int scanf(const char *format, -); int fprintf(FILE *stream, const char *format, ...);      //中间的參数为写入文件的格式 int fscanf(FILE *stream, const…
  文件通道总是阻塞式的. 文件通道不能创建,只能通过(RandomAccessFile.FileInputStream.FileOutputStream)getChannel()获得,具有与File形同的访问权限. 线程安全.   文件锁:锁的对象是文件. package org.windwant.nio; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import…
本文描述了sqlite为保证数据库文件不被损坏而采取的种种手段.. 以下是原译者的摘要:http://www.kuqin.com/shuoit/20150618/346693.html 摘要: 本文源自:http://blog.csdn.net/javensun/article/details/8515690 原文章出处:http://www.sqlite.org/atomiccommit.html,2007/11/28的版本 1.0 简介 "原子提交"是SQLite这种支持事务的数据…
通过man 2 lseek可以查看linux中的系统函数lseek函数的帮助文档,为了更好的学习,我把这些重要内容翻译过来 NAME lseek - reposition read/write file offset//重置读或写文件的偏移量 SYNOPSIS//摘要 #include <sys/types.h>//如果要使用lseek函数,需要包含这两个头文件 #include <unistd.h> off_t lseek(int fd, off_t offset, int wh…
MFS(MooseFS)是一个容错的.网络分布式文件系统,是GFS的开源实现.它把数据分散在多个物理机上,对外展现为一个整体资源. 支持的功能 Unix的通用文件系统功能:目录树:记录POSIX文件属性(权限.最近读取.修改时间):支持特殊文件(块和字符设备.管道和套接口):符号链接和硬链接:根据IP和密码来设置读取文件的权限. 特殊功能:高可靠(数据有多个备份存放在不同的机器上):通过增加新机器或硬盘可以动态扩展容量:回收在指定时间内删除的文件(有系统级的垃圾回收站):文件读写时也能进行一致性…
英文地址 文章参考 简介 支持事务的数据库系统如sqlite的一个重要特性是原子提交(atomic commit).也就是在一个事务中进行的对数据库的写操作要么全部执行,要么全部不执行.看起来像是对数据库不同部分的写操作时瞬时发生的. 实际上,对磁盘内容的改变需要一段时间,写操作不可能是瞬时发生的.为此,sqlite内部有一套逻辑保证保证事务操作的原子性,即使系统crash或掉电也不会破坏原子性. 这篇文章介绍了确保原子操作的技巧和策略,只适用于rollback mode.如果数据库在WAL m…
问题1:谈谈你对的PHP的基本认识. 回答:PHP是Hypertext Preprocessor(超文本预处理器)的简称,是一种用来开发动态网站的服务器端脚本语言. 问题2:什么是MVC? 回答:MVC,即Model(数据层),View(视图 层),Controller(控制层).PHP中的MVC模型是一种有效将代码分成三层的管理办法,其中Model表示着应用中的数据信息,View负责 将应用中的数据信息展现出来,Controller控制着如何将数据信息读出. 问题3:你在一个页面上有几种方式添…
Hadoop 2.2中正式启用了hdfs nfs功能,使得hdfs的通用性迈进了一大步.在公司让小朋友搭建了一下,然后我自己进行了一点简单的试验,有一点收获,记录在此. 理论 使用hdfs nfs功能的话,数据访问路径如上图:用户或程序通过Linux自带的nfs client访问hdfs nfs服务,然后再由nfs网关作为hdfs的客户端访问hdfs. 这张图中,中间的节点就是nfs代理服务器(hdfs nfs proxy)或nfs网关(hdfs nfs gateway).蓝色代表该模块是一个进…