Linux文件写入操作:write函数的使用

这篇具有很好参考价值的文章主要介绍了Linux文件写入操作:write函数的使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

write函数定义:write函数是基于Linux系统中的一项函数调用,主要用于在打开/创建的文件中写入数据。

write函数包含的头文件

#include <unistd.h>

write函数的格式原型

ssize_t write(int fd, const void *buf, size_t count);

write函数中的三项参数

int fd open一个文件,就会返回到文件描述符中,对文件后续的操作都需要用到文件描述符。
const void *buf 这是一个无类型的指针,通常将buf作为缓冲区来写入/读取文件。
size_t  count 写入文件的大小

                 🔺参数归纳: 从缓冲区buf开始写入count字节到由文件描述符fd引用的文件里。

write函数返回值

写入成功,返回值为写入的字节数

写入失败,返回值为-1

示例代码

#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdio.h>
#include <unistd.h>
#include <string.h>

int main()
{
        int fd;
        char *buf = "hello world!";
        fd = open("./file1",O_RDWR);
        if(fd == -1){
                printf("open file1 failed\n");
        }
        fd = open("./file1",O_CREAT|O_RDWR,0600);
        if(fd > 0){
                printf("open file1 success\nfd=%d\n",fd);
        }
//原型: ssize_t write(int fd, const void *buf, size_t count);
                 write(fd,buf,strlen(buf));

        close(fd);

        return 0;
}

代码编写流程

① 先创建/打开一个名为“file1”的文件,并返回到文件描述符中,权限为“O_RDWR”可读可写;

 fd = open("./file1",O_CREAT|O_RDWR,0600);

② 定义无类型指针的缓冲区buf为char型(🔺可以根据写入内容定义为其他类型),写入字符串“ hello world!”

 char *buf = "hello world!";

③ 计算写入文件的大小:strlen(buf)。注意需要包含头文件“#include<string.h>”。

//原型: ssize_t write(int fd, const void *buf, size_t count);
                 write(fd,buf,strlen(buf));

编译结果

① fd=3,文件“file1”创建/打开成功

dhw@dhw-virtual-machine:~$ gcc demo3.c
dhw@dhw-virtual-machine:~$ ./a.out
open file1 failed
open file1 success
fd=3
dhw@dhw-virtual-machine:~$ ls
a.out  demo1.c  demo2.c  demo3.c  file1  snap

② 查看文件“file1”,字符串“ hello world!”写入成功。文章来源地址https://www.toymoban.com/news/detail-790930.html

dhw@dhw-virtual-machine:~$ cat file1
hello world!dhw@dhw-virtual-machine:~$ 

到了这里,关于Linux文件写入操作:write函数的使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python---文件、基本操作:打开open,写入write,关闭close,读取read/readlines,移动光标seek,mode模式

    文件: 内存中存放的数据在计算机关机后就会消失。 要长久保存数据 ,就要使用硬盘、光盘、U 盘等设备。 为了便于数据的管理和检索,引入了 “文件 ”的概念。 像移动硬盘,内存卡,网盘等等。 一篇文章、一段视频、一个可执行程序,都可以被保存为一个文件,并赋予

    2024年02月03日
    浏览(56)
  • Linux :: 文件内容操作【5】:echo 指令 与 输入重定向、输出重定向、追加重定向在文件内容写入中的简单用法!

    前言:本篇是 Linux 基本操作篇章的内容! 笔者使用的环境是基于腾讯云服务器:CentOS 7.6 64bit。 学习集: C++ 入门到入土!!!学习合集 Linux 从命令到网络再到内核!学习合集 说明:此处结合 「echo 指令」 提前引入 「重定向」 及 「管道」 的简单用法,深入的 「重定向」

    2024年02月01日
    浏览(56)
  • Linux-open、read、write函数

    1、open函数 详细使用可以使用Linux命令:man 2 open flags参数 :(注意这里可以使用 |来添加多个参数),如: flags三个访问权限参数:( 注意这三个参数在flags中只能出现其中一个 ) O_RDONLY:只读          O_WRONLY:只写          O_RDWR:读写 flags其他参数: O_CREAT:若文件不

    2024年02月15日
    浏览(43)
  • R语言【utils】——write.table(),write.csv(),write.csv2():将数据写入文件

    Package  utils  version 4.2.0 参数【x】 :要写入的对象,最好是矩阵或数据帧。如果不是,则尝试将其强制转换为数据帧。 参数【file】 :命名文件的字符串或打开用于写入的连接。“”表示向控制台输出。 参数【append】 :逻辑值。只有当 参数【file】 是一个字符串时才相关。

    2024年01月22日
    浏览(47)
  • 【Linux操作系统】举例解释Linux系统编程中文件io常用的函数

    在Linux系统编程中,文件IO操作是非常常见和重要的操作之一。通过文件IO操作,我们可以打开、读取、写入和关闭文件,对文件进行定位、复制、删除和重命名等操作。本篇博客将介绍一些常用的文件IO操作函数。 1.1 原型、参数及返回值说明 1.1.1 原型: open()函数是Linux系统

    2024年02月12日
    浏览(48)
  • Linux-0.11 文件系统read_write.c详解

    该模块实现了文件系统通用的读写的方法read/write/lseek。 根据文件类型的不同,在内部将调用不同的方法。如果是管道文件,则调用pipe.c中的读写方法,如果是字符设备,则会调用char_dev.c中的方法,如果是目录或者普通文件,将调用file_dev.c中的读写方法,如果是块设备文件,

    2024年02月06日
    浏览(42)
  • 【玩转Linux操作】详细讲解Shell的函数,exit,文件重定向,引入外部脚本的操作

    🎊专栏【​​​​​​​玩转Linux操作】 🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。 🎆音乐分享【Love Story】 🥰大一同学小吉,欢迎并且感谢大家指出我的问题🥰 bash 中的函数类似于C/C++中的函数,但是 return 的返回值与C/C++不同,返回的是 exit code ,取值为0~255,

    2024年02月12日
    浏览(41)
  • Linux向文件中写入内容

    1.覆盖写入 2.追加写入 3.窗口输出指定内容

    2024年02月09日
    浏览(40)
  • 【linux】 Shell函数返回值

    return 返回 shell中通过return返回是有限制的, 必须是数字 ,最大返回255,超过255,则从0开始计算。 通常仅返回0或1;0表示成功,1表示失败 。 通过echo 直接返回。 在没有return 语句,函数将以最后一条命令运行结果,作为返回值。因此,通常在 最后一行以echo “xxx”语句 作为

    2024年02月04日
    浏览(30)
  • linux shell函数和返回值

    shell函数可以有返回值,但是只能返回0-255作为状态值,不能返回字符串,字符串可以通过其他方式传递给调用者 小于255的值 大于255的值 基本是对256取余的返回值 通过$(函数调用和参数),通过$()调用,函数中的echo不会打印到控制台,直接调用函数,则会调用控制台 返回非纯

    2024年02月10日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包