摘要: 对于这个算法,很多书上只是说一下思路,没有具体的实现。我在这里举个例子吧以4bit(计算方便一点,和16bit是一样的)做检验和来验证。 建设原始数据为 1100 , 1010 , 0000(校验位) 那么把他们按照4bit一组进行按位取反相加。 1100取反0011 , 1010取反是0101,0011加上0101 是1000,填入到校验位后 1100 , 1010 , 1000 那么这个就是要发送的数据。收到数据后同样进行按位取反相加。0011+0101+0111 =1111;全为1表示正确 另外注意,当地一步计算校验和的时候,有可能相加后最高位会有进位,那么不能舍弃,一定要加到低位,才能 阅读全文
posted @ 2014-01-03 19:56 ITtecman 阅读(1206) 评论(0) 推荐(1) 编辑
摘要: 一个文件的访问和修改时间可以用utime函数更改。#include int utime( const char *pathname, const struct utimbuf *times );返回值:若成功则返回0,若出错则返回-1此函数所使用的数据结构是:struct utimbuf { time_t actime; /* access time */ time_t modtime; /* modification time */}此结构中的两个时间值是日历时间。这是自1970年1月1日00:00:00以来国际标准时间所经过的秒数。此函数的操作以及执行它所要求的特权... 阅读全文
posted @ 2014-01-03 16:38 ITtecman 阅读(3280) 评论(0) 推荐(0) 编辑
摘要: 本篇博文内容摘自《UNIX环境高级编程》(第二版),仅作个人学习记录所用。关于本书可参考:http://www.apuebook.com/。对每个文件保持有三个时间字段,它们的意义见表4-10: 表4-10 与每个文件相关的三个时间值字段说明例子ls(1)选项st_atime文件数据的最后访问时间read-ust_mtime文件数据的最后修改时间write默认st_ctimei节点状态的最后更改时间chmod、chown-c注意修改时间(st_mtime)和更改状态时间(st_ctime)之间的区别。修改时间是文件内容最后一次被修改的时间。更改状态时间是该文件的i节点最后一次被修改的时间。很多 阅读全文
posted @ 2014-01-03 14:59 ITtecman 阅读(424) 评论(0) 推荐(0) 编辑
摘要: symlink函数创建一个符号链接。 #include int symlink( const char *actualpath, const char *sympath );返回值:若成功则返回0,若出错则返回-1该函数创建了一个指向actualpath的新目录项sympath,在创建此符号链接时,并不要求actualpath已经存在。并且,actualpath和sympath并不需要位于... 阅读全文
posted @ 2014-01-03 14:24 ITtecman 阅读(825) 评论(0) 推荐(0) 编辑
摘要: 本篇博文内容摘自《UNIX环境高级编程》(第二版),仅作个人学习记录所用。关于本书可参考:http://www.apuebook.com/。符号链接是指向一个文件的间接指针,它与硬链接有所不同,硬链接直接指向文件的i节点。引入符号链接的原因是为了避开硬链接的一些限制:硬链接通常要求链接和文件位于同一文件系统中。只有超级用户才能创建指向目录的硬链接。对符号链接以及它指向何种对象并无任何文件系统限制,任何用户都可创建指向目录的符号链接。符号链接一般用于将一个文件或整个目录结构移到系统中的另一个位置。当使用以名字引用文件(而不是用打开文件的描述符引用文件)的函数时,应当了解该函数是否处理符号链接。也 阅读全文
posted @ 2014-01-03 14:14 ITtecman 阅读(2188) 评论(0) 推荐(0) 编辑
摘要: 任何一个文件可以有多个目录项指向其i节点。创建一个指向现有文件的链接的方法是使用link函数。#include int link( const char *existingpath, const char *newpath );返回值:若成功返回0,若出错返回-1此函数创建一个新目录项newpath,它引用现有的文件existingpath。如若newpath已经存在,则返回出错。只创建newpath中的最后一个分量,路径中的其他部分应当已经存在。创建新目录项以及增加链接计数应当是个原子操作。虽然POSIX.1允许实现支持跨文件系统的链接,但是大多数实现要求这两个路径名在同一个文件系统中。如果 阅读全文
posted @ 2014-01-03 11:08 ITtecman 阅读(4193) 评论(0) 推荐(0) 编辑
摘要: 我们可以把一个磁盘分成一个或多个分区。每个分区可以包含一个文件系统(见图4-1)。 图4-1 磁盘、分区和文件系统i节点(i-node)是固定长度的记录项,它包含有关文件的大部分信息。如果更仔细地观察一个柱面组的i节点和数据块部分,则可以看到图4-2中所示的情况。注意图4-2中的下列各点:在图中有两个目录项指向同一i节点。每个i节点中都有一个链接计数,其值是指向该i节点的目录项数。只有当链接计数减少至0时,才可删除该文件(也就是说可以释放该文件占用的数据块)。这就是为什么“解除对一个文件的链接”操作并不总是意味着“释放该文件占用的磁盘块”的原因。这也是为什么删除一个目录项的函数被称为unlin 阅读全文
posted @ 2014-01-03 09:22 ITtecman 阅读(664) 评论(0) 推荐(0) 编辑