APUE-3.2创建一个具有空洞的文件

创建一个空洞文件 创建一个空洞文件,用于创建一个空洞文件,查看block发现空洞文件占用磁盘大小 立即下载

创建文件Create_file_with_hole.c,内容为

#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include "apue.h"
char buf1[] = "abcdefghij";
char buf2[] = "ABCDEFGHIJ";
int
main(void) {
    int fd;
    if ( (fd = creat("file.hole", FILE_MODE)) < 0)
        err_sys("creat error");
    if (write(fd, buf1, 10) != 10)
        err_sys("buf1 write error");
    /* offset now = 10 */
    if (lseek(fd, 40, SEEK_SET) == -1)
        err_sys("lseek error");
    /* offset now = 40 */
    if (write(fd, buf2, 10) != 10)
        err_sys("buf2 write error");
    /* offset now = 50 */
    exit(0);
}
  • 编译
gcc Create_file_with_hole.c -o Create_file_with_hole -lapue
  • 执行
./Create_file_with_hole
//od命令用来观察该文件的实际内容,-c表示以字符方式打印文件内容
od -c file.hole

编译,执行结果为
这里写图片描述

03 Aras Innovator二次开发-服务端方法(二) Aras Innovator二次开发-服务端方法书写 阅读详情

相关推荐

UG/NX二次开发实战:用Python脚本批量更新100个零件参数,解放你的双手

本文详细介绍了如何利用NXOpen Python API进行UG/NX二次开发,实现批量更新100个零件参数的自动化流程。通过环境配置、框架设计、核心代码实现及性能优化,帮助工程师高效完成参数化设计任务,显著提升工作效率。

weixin_28694169的博客 276

Linux Advance--文件IO--创建一个具有空洞的文件

这里用到了内核的 lseek 函数: #include off_t lseek(int filedes, off_t offset, int whence); 文件的空洞并不要求在磁盘上占用存储区。当定位超出文件尾端之后写时,对于新写的数据需要分配磁盘块,但是对于原文件尾端和新开始写位置之间的部分则不需要分配磁盘块。 下面是测试程序: #include #include #defi

Epsilon 1111

【项目实战】基于STM32单片机的智能小车设计(有代码)

【1】背景意义 近些年随着国民生活水平的提升,以小车为载体的轮式机器人进入了我们的生活,尤其是在一些布线复杂困难的安全生活区和需要监控的施工作业场合都必须依赖轮式机器人的视频监控技术。因此,基于嵌入式技术的无线通信视频监控轮式机器人应运而生。由于它们与人类工作相比具有成本低廉、安全稳定的优点,目前已经在许多危险作业以及工业场合得到了广泛应用而且轮式机器人不需要像人那样采取过多的保护措施,因此轮式机...

ShawnWang1994的博客 13万+

linux创建空洞文件

文件偏移量可以大于文件的当前长度,会在文件中构成空洞,文件中的空洞并不要求在磁盘上占用存储区 源码: #include #include #include #include #include int main() { char *pathname = "./test.data"; long long length = 1024 * 1024 * 1024;

daiyudong2020的博客 2438

orangepi 5 plus ubuntu24.04上安装redroid

OrangePi 5 Plus运行reDroid云手机方案总结 在RK3588+Ubuntu 24.04上部署reDroid(Android容器化方案)的关键步骤: 内核要求:确保启用binderfs(无需ashmem,新版reDroid使用memfd替代); 安装流程: 安装Docker并配置代理加速镜像拉取; 拉取reDroid镜像(推荐Android 12/13 ARM64版本); 通过挂载binderfs启动容器,指定分辨率与DPI参数; 多实例管理: 脚本化创建多个容器(如8个实例),分配独立端口

babytiger的专栏 2292

单细胞专题(1) | 单细胞转录组研究样本准备指南(上)

单细胞RNA测序(scRNA-seq)是目前最前沿,能进行大规模实验的转录组研究技术,为理解细胞组成和动态生物学过程提供了很多新的见解。单细胞研究已经为我们理解发育过程,老化和疾病(如癌症)等提供了大量数据。在这里,小编主要就前期的样本准备与保存需注意问题给大家进行讲解,以备大家在不同的研究场景和研究背景下,走好单细胞转录组学研究的第一步。

bioyigene的博客 4229

浅析空洞文件

1.什么是空洞文件? “在UNIX文件操作中,文件位移量可以大于文件的当前长度,在这种情况下,对该文件的下一次写将延长该文件,并在文件中构成一个空洞,这一点是允许的。位于文件中但没有写过的字节都被设为 0。”      --摘自“百度百科” 从上面的描述可以将空洞文件的特点表述为:offset > 实际文件大小。那这又有什么表现和意义呢?我们下面慢慢分析。 2.怎么获得一个空洞文

ClamerCoder的专栏 1万+

LangChain从入门到精通最全教程

LangChain是一个用于构建基于大语言模型(LLM数据感知:连接外部数据源(文档、API等)智能代理:通过工具调用实现自主决策模块化设计:支持链式调用、记忆管理、提示词工程等from langchain . llms import BaseLLM class CustomLLM(BaseLLM) : def _call(self , prompt : str , ** kwargs) - > str : return f"自定义响应: {

Cachel Wood的博客 1410

创建一个具有空洞的文件

#include "apue.h" #include &lt;fcntl.h&gt; char buf1[]= "abcdefghij"; char buf2[]= "ABCDEFGHIJ"; int main(void) { int fd; if((fd = creat("file.hole",FILE_MODE)) &lt;0) err_sys("cr

Javahaoshuang3394的专栏 460

【从零开始入门unity游戏开发之——C#篇37】进程、线程、C# 中实现多线程有多种方案和async/await异步编程

进程、线程、C# 中实现多线程有多种方案和async/await异步编程

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 1469

【RT-DETR有效改进】计算训练好权重文件对应的FPS、推理每张图片的平均时间(科研必备)

本文给大家带来的改进机制是利用我们训练好的权重文件计算FPS,同时打印每张图片所利用的平均时间,模型大小(以MB为单位),同时支持batch_size功能的选择,对于轻量化模型的读者来说,本文的内容对你一定有帮助,可以清晰帮你展示出模型速度性能的提升以及轻量化的效果(模型大小),对于以提高精度为目的的读者本文也能够帮助大家展示出现阶段的模型速度指标。所以本文的内容是十分有用的机制,对于大家发表论文来说,下面的图片为运行后的效果可以看到,该有的指标均已打印(本文内容为我独家创新,全网无第二份)下面是效果图和文

Snu77的博客 3628

APUE-3.2 创建一个具有空洞的文件

/* 3-2 创建一个具有空洞的文件 */ #include #include #include /* S_IRUSR,etc.*/ #include #include #include int main(void) { char buf1[] = "abcdefghij"; char buf2[] = "ABCDEFGHIJ"; int fd; if( (fd = open(

码农 831

4、基于STM32 NUCLEO - F030R8开发板的嵌入式编程入门

本文详细介绍了如何在STM32 NUCLEO-F030R8开发板上实现LED闪烁功能,作为嵌入式编程的入门实践。内容涵盖开发板组成、跳线设置、项目创建、代码编写与解析、编译运行步骤,以及常见问题解决方法和拓展应用。通过本文学,习者可以掌握嵌入式开发的基本流程,并为后续深入学习打下基础。

m9n0o的博客 83

空洞文件的感想

问题源于写一个类似与cp的程序,复制一个具有空洞的文件,但不将字节0写导输出文件中去(APUE 第4章6题)。我们知道空洞是不占用磁盘空间的,且linux系统自己有cat,cp命令可以复制文件,但是对空洞的处理方式不同:cat  file> file _copy  :复制输出的文

6132

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

APUE 第4章: cp命令实现,同时去除文件中的空洞

去除文件中的空洞的复制

m0_47161778的博客 360

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

复制空洞文件中的内容(除去空洞)

这些天学习《UNIX环境高级编程》,里面提及到一种空洞文件,即文件中间有大量空洞,'\0'的字符填充。 生成的代码如下 #include <fcntl.h> #include <apue.h> int main() { int fd; if((fd = creat("file.hole",FILE_MODE))<0) ...

weixin_30376509的博客 453

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

3.2 创建一个具有空洞的文件

file/hole.c #include "apue.h" #include <fcntl.h> char buf1[] = "abcdefghij"; char buf2[] = "ABCDEFGHIJ"; int main(void) { int fd; if ((fd = creat("file.hole", FILE_MODE)) < 0) ...

weixin_30810583的博客 177

编写一个类似于cp命令的程序,当使用该程序复制一个空洞文件的普通文件时,要求目标文件的空洞与源文件保持一致

首先需要编写一个函数来产生带有空洞的文件: kongdong.c /*############################################## # # Author: Lizhenggen - 762741539@qq.com # # QQ : 762741539 # # Last modified: 2022-04-16 22:59 # # Filename: kongdong.c ################################

weixin_42246754的博客 501

《APUE.3E》习题4.6编写自己的cp(l)程序,它复制包含空洞的文件,但不将字节0包含到输出文件中去

1、产生空洞的方式lseek()#include "apue.h" #include <fcntl.h>char buf1[] = "abcdefghij"; char buf2[] = "ABCDEFGHIJ";int main(void) { int fd; /* 创建一个文件 */ if ((fd = creat("file.hole", FILE_MODE)

夜夜夜夜 1905

空洞文件2

完成 APUE cha4_6 编写一个类似cp的程序,复制包含空洞的文件,但不将字节0 (在ASCII 中为‘\0’),写入输出的文件:#include"unistd.h"#include"fcntl.h"#include"stdio.h"#include"stdlib.h"#i

1733

APUE编程:39---文件目录(文件长度与文件空洞)

一、文件长度 二、文件空洞 图3-2程序(lseek函数):https://blog.csdn.net/qq_41453285/article/details/88929776

董哥的黑板报 668

【APUE】文件IO

文件I/O 在系统调用这个级别上,文件用一个非负整数来表示,被称为文件描述符。 文件描述符用来标识一个打开状态的“文件”,这里的文件是广义的,包含了: 管道、FIFO、socket、终端、设备、以及通常意义上的文件。 shell为每个进程打开了3个文件描述符:0、1、2 默认代表了终端。 上面这些广义文件的共同操作有这样四个: open、write、read、close 对于某些特定的设备的特殊操作:可以用万能的 ioctl() open() int open(const char* pathname, i

Salted的博客 372

Apue第三章

PS:推荐最近刚撸完的一本书程序设计>,此书着重讲述了关于linux下程序设计的一些简单设计,但是不够深入,拿来入门还是非常不错的,如果apue读着有些困难,那么此书是一个不错的选择。再分享一个提问须知:https://zhuanlan.zhihu.com/p/20752519 Apue中文第三版下载地址:http://download.csdn.net/download/xiaoyu5256/

qq_31564375的博客 467

APUE第三章文件IO笔记+习题

3 文件IO 非缓冲IO,属于POSIX,非IOS C标准 stdin stdou stderr与STDIN_FILENO STDOUT_FILENO STDERR_FILENO的关系 stdin等属于FILE *类型,在<stdio.h>中 STDIN_FILENO等是无符号整数,表示描述符,在<unistd.h>中 3.1 常用函数 open #inc...

_llc的博客 233

APUE第四章文件和目录

与进程相关联的ID 1.实际用户ID+实际组ID 2.有效用户ID+有效组ID+附属组ID 3.保存的设置用户ID+保存的设置组ID 执行一个程序文件时,进程的有效用户ID=实际用户ID,有效组ID=实际组ID, 当我执行./a.out文件时,如果a.out此文件权限是root root,但是我以非root用户来执行的(实际用户是非root用户,此时进程的有效用户id变成实际用户id,那...

_llc的博客 255

apue第四章学习总结

apue第四章学习总结 4.1.若以stat函数去替换lstat函数,会发生: 原来的目录路径: $:~/workspace/apue2/include$ ls -l apue.h abc lrwxrwxrwx 1 mikedeng mikedeng 6 10月 25 18:33 abc -> apue.h -rw-r--r-- 1 mikedeng mikedeng 47...

azft68818的博客 234
上一篇: APUE-输入和输出
下一篇: APUE-用fcntl函数对指定的描述符打印和开启文件标志
peerless1024
博客等级 码龄11年 21粉丝 32原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值