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;

}

相关文章
|
4月前
|
存储 分布式计算 调度
云计算核心技术
云计算作为IT领域的热门技术,融合网格计算与虚拟化,通过资源池和分布式存储提供高效计算与存储服务。其架构涵盖物理资源、资源池、管理中间件及SOA构建层,关键技术包括虚拟化、海量数据处理、资源调度、服务管理及云平台,旨在实现低成本、高可靠、可扩展的服务交付。
503 0
云计算核心技术
|
10月前
|
存储 虚拟化
【2025最新】 神奇!VMware Workstation Pro虚拟机还原与删除功能,让你轻松应对各种场景!
删除和还原VMware虚拟机的操作步骤如下: **删除虚拟机:** 1. 选择要删除的虚拟机,右键点击并选择“移除”。 2. 这仅从列表中移除虚拟机,并未彻底删除。需前往VMware默认存储路径(如 `D:\VMware\data`),找到对应虚拟机文件夹并删除。 **还原虚拟机:** 1. 若误删虚拟机列表项目,可通过右键点击空白处,选择“打开”,找到保存虚拟机的路径文件夹。 2. 选择被删除虚拟机对应的 `.vmx` 配置文件并打开,即可在列表中恢复该虚拟机。 总结:VMware虚拟机可用于模拟多种操作系统和开发环境,掌握删除与还原技巧可提高使用效率。
968 8
【2025最新】 神奇!VMware Workstation Pro虚拟机还原与删除功能,让你轻松应对各种场景!
|
8月前
|
机器学习/深度学习 人工智能 数据中心
《从“高温警报”到“持续冷静”:相变浸没液冷的散热逆袭之路》
相变浸没液冷技术为数据中心和人工智能计算的散热难题提供了高效解决方案。通过将设备浸没于特殊冷却液中,利用相变原理快速带走热量,实现全方位冷却。相比传统风冷和液冷,该技术显著降低设备温度、能耗和故障率,提升运行效率与空间利用率。在AI计算中,它确保芯片稳定工作,加速模型训练。尽管存在成本和技术普及等挑战,但随着技术进步,其应用前景广阔,有望推动数据中心与AI计算的进一步发展。
219 0
|
8月前
|
数据库 持续交付 安全
多WordPress站点自动化部署技术方案解析
本文档详细介绍了一套针对阿里云与腾讯云异构环境的跨云部署方案。通过混合云编排技术和Websoft9标准化镜像,实现LAMP堆栈的一致性部署,并利用容器化技术解决系统依赖冲突。安全合规部分涵盖基线配置管理、日志审计体系及容器安全加固,确保环境稳定与数据安全。技术选型对比验证了Websoft9在混合云场景下的优势,大幅提高部署效率和资源利用率。此外,灾备与扩展建议提供了数据库容灾、弹性扩展及版本兼容保障策略,全面提升系统可靠性与灵活性。
226 0
多WordPress站点自动化部署技术方案解析
|
JavaScript 计算机视觉
FLUX.1 Tools 全家桶开源!文末附一键ComfyUI启动链接
Black Forest Labs 发布了 FLUX.1 Tools,一套增强 FLUX.1 文本转图像模型的工具集,包括 FLUX.1 Fill、FLUX.1 Depth、FLUX.1 Canny 和 FLUX.1 Redux,分别用于图像修复、深度引导、边缘检测和图像重组。提供详细的安装指南和模型下载链接,支持用户快速上手并优化图像处理流程。
4416 4
FLUX.1 Tools 全家桶开源!文末附一键ComfyUI启动链接
|
机器学习/深度学习
基于RBF-PID控制器的风力发电系统simulink建模与仿真
本研究基于MATLAB2022a,使用Simulink对风力发电系统进行了建模与仿真,旨在对比PID与RBF-PID控制器的性能。RBF-PID控制器通过引入径向基函数神经网络,实现了PID参数的在线自适应调整,显著提升了对非线性风电系统的控制效果。仿真结果显示,相较于传统PID,RBF-PID能更有效地应对系统不确定性和参数变化,提高系统的鲁棒性和稳定性。
|
机器学习/深度学习 自然语言处理 PyTorch
Transformers入门指南:从零开始理解Transformer模型
【10月更文挑战第29天】作为一名机器学习爱好者,我深知在自然语言处理(NLP)领域,Transformer模型的重要性。自从2017年Google的研究团队提出Transformer以来,它迅速成为NLP领域的主流模型,广泛应用于机器翻译、文本生成、情感分析等多个任务。本文旨在为初学者提供一个全面的Transformers入门指南,介绍Transformer模型的基本概念、结构组成及其相对于传统RNN和CNN模型的优势。
12275 1
|
人工智能 JSON 文字识别
【实操】Java+百度ocr,实现图片识别文字小工具
本文介绍了一个基于Java和百度OCR的文字识别工具,能够通过截图或上传图片实现文字识别,并使用exe4j将工具封装为exe文件以便于使用。文章详细介绍了实现过程,包括Java Swing页面布局、百度OCR配置及使用方法,以及如何将Java项目打包成jar和exe文件。此外,还提供了一些相关资源供读者参考。
791 0
【实操】Java+百度ocr,实现图片识别文字小工具
|
Dart 前端开发 JavaScript
探索移动应用开发中的跨平台解决方案:Flutter与React Native的比较
在移动应用开发领域,选择合适的跨平台解决方案是关键。本文将深入分析Flutter和React Native这两大主流框架,从性能、开发效率、社区支持等方面进行比较,帮助开发者做出明智的选择。
378 27
|
Kubernetes Cloud Native Java
阿里云 MSE + ZadigX ,无门槛实现云原生全链路灰度发布
阿里云 MSE + ZadigX ,无门槛实现云原生全链路灰度发布
765 78