Write 函数|学习笔记

简介: 快速学习 Write 函数

开发者学堂课程【物联网开发- Linux 高级程序设计全套视频Write 函数】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/660/detail/10976


Write 函数

 

内容介绍

一. Write 函数的介绍

二. Write 函数的例子

 

一.Write 函数的介绍

把指定数目的数据写到文件

write 函数,注意使用 write 函数先用 open 函数打开文件,write 里面这几个参数,fd 的文件里写东西,在程序里可以打开多个文件,每一个文件都可以接一下他的文件描述符,对哪一个文件进行读写,就用哪个文件的文件描述符,第二个参数是一个指针,这个指针指向内存当中的内容,写到文件当中去,第三个是字节数,写多少个字节,将 addr 指向的内存,count 字节,写到fd当中去,接下来有个返回值,如果成功的话,返回成功的字节数,如果失败的话,返回-1,使用 perror 去查看原因。

#include<unistd.h>

ssize t write(int fd,const void *addr,size_t count);

参数:

fd:文件描述符。

addr:数据首地址。

count:写入数据的字节个数。

返回值:

成功返回实际写入数据的字节个数。

失败返回-1,可以利用 perror 去查看原因。

 

二. Write 函数的例子

首先定义一个指针,这是文件的名字test,在文件当中定义一个hello word的字符串,写到text.txt当中去。

第一步要打开文件,用fd=open,打开这个txt文件,以WR_WRONLY的方式打开,打开了之后,fd这个文件,就存放了一个文件描述符,接下来要往文件里面写东西了,再定义一个count变量,让count=write(fd,str)讲str指向的字符长度位strlen(str)长度的字节写入到fd中去,判断一下,如果count为-1,则失败,就用perror打印出错信息,程序结束或者做其他处理,否则写入成功。

代码演示:

int fd;

int count;

char *path=”./test.txt”;

char * str=”hello word”;

fd=open(path,O_WRONLY);

if(fd==1)

{

perror(“open”);

return 0;

}

count =write(fd,str,strlen(str));

if(count = -1)

{

perror(“write”);

return 0;

}

相关文章
|
存储 缓存 NoSQL
Redis Cluster 为什么选哈希槽不选一致性哈希?
Redis相信大家都很熟悉,它是我们常用的分布式缓存中间件之一。那么大家对于Redis Cluster集群是否熟悉呢?在Redis集群中并没有使用一致性hash, 而是引入了 **哈希槽**的概念,为什么选哈希槽不选一致性哈希。
4561 1
|
7月前
|
机器学习/深度学习 人工智能 数据中心
《从“高温警报”到“持续冷静”:相变浸没液冷的散热逆袭之路》
相变浸没液冷技术为数据中心和人工智能计算的散热难题提供了高效解决方案。通过将设备浸没于特殊冷却液中,利用相变原理快速带走热量,实现全方位冷却。相比传统风冷和液冷,该技术显著降低设备温度、能耗和故障率,提升运行效率与空间利用率。在AI计算中,它确保芯片稳定工作,加速模型训练。尽管存在成本和技术普及等挑战,但随着技术进步,其应用前景广阔,有望推动数据中心与AI计算的进一步发展。
192 0
|
9月前
|
存储 虚拟化
【2025最新】 神奇!VMware Workstation Pro虚拟机还原与删除功能,让你轻松应对各种场景!
删除和还原VMware虚拟机的操作步骤如下: **删除虚拟机:** 1. 选择要删除的虚拟机,右键点击并选择“移除”。 2. 这仅从列表中移除虚拟机,并未彻底删除。需前往VMware默认存储路径(如 `D:\VMware\data`),找到对应虚拟机文件夹并删除。 **还原虚拟机:** 1. 若误删虚拟机列表项目,可通过右键点击空白处,选择“打开”,找到保存虚拟机的路径文件夹。 2. 选择被删除虚拟机对应的 `.vmx` 配置文件并打开,即可在列表中恢复该虚拟机。 总结:VMware虚拟机可用于模拟多种操作系统和开发环境,掌握删除与还原技巧可提高使用效率。
782 8
【2025最新】 神奇!VMware Workstation Pro虚拟机还原与删除功能,让你轻松应对各种场景!
|
消息中间件 存储 网络协议
操作系统的心脏:深入理解进程间通信(IPC)机制
在现代计算机系统中,操作系统扮演着至关重要的角色,而进程间通信(IPC)作为操作系统的核心功能之一,极大地影响着系统的性能和稳定性。本文将通过浅显易懂的语言,详细探讨进程间通信的基本原理、主要类型及其实际应用,旨在为读者提供一个清晰且全面的理解和认识。 ##
787 1
|
Kubernetes Cloud Native Java
阿里云 MSE + ZadigX ,无门槛实现云原生全链路灰度发布
阿里云 MSE + ZadigX ,无门槛实现云原生全链路灰度发布
738 70
|
人工智能 JSON 文字识别
【实操】Java+百度ocr,实现图片识别文字小工具
本文介绍了一个基于Java和百度OCR的文字识别工具,能够通过截图或上传图片实现文字识别,并使用exe4j将工具封装为exe文件以便于使用。文章详细介绍了实现过程,包括Java Swing页面布局、百度OCR配置及使用方法,以及如何将Java项目打包成jar和exe文件。此外,还提供了一些相关资源供读者参考。
748 0
【实操】Java+百度ocr,实现图片识别文字小工具
|
监控 安全 网络安全
ICMP 协议详解及其消息格式
【8月更文挑战第20天】
2173 0
|
消息中间件 关系型数据库 MySQL
实时计算 Flink版产品使用问题之如何从指定的savepoint恢复任务
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
实时计算 Flink版产品使用问题之如何从指定的savepoint恢复任务
|
JSON Java 数据格式
response.contenttype详解
response.contenttype详解
|
开发工具 git
Git恢复之前版本的两种方法reset、revert(图文详解)
Git恢复之前版本的两种方法reset、revert(图文详解)
1363 0