ubuntu学习(四)----文件写入操作编程

2023-11-13

1、write函数的详解

ssize_t write(int fd,const void*buf,size_t count);
参数说明:
  fd:是文件描述符(write所对应的是写,即就是1)
  buf:通常是一个字符串,需要写入的字符串
  count:是每次写入的字节数

返回值:

 成功:返回写入的字节数
 失败:返回-1并设置errno
  ps: 写常规文件时,write的返回值通常等于请求写的字节 数count, 而向终端设备或者网络写时则不一定

2、write函数使用

首先打开终端,输入

man 2 write

 接着打开新的终端,输入:

vi demo3.c

 输入如下代码:

#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 = "asdfggh";
    fd = open("./file1",O_RDWR);
    if(fd == -1){
        printf("open file1 failed\n");
        fd = open("./file1",O_RDWR|O_CREAT,0600);
        if(fd>0){
             printf("create file1 success\n");  
      
        }
    }

    printf("open susceess : fd = %d\n",fd);
    write(fd,buf,strlen(buf));
    close(fd);

    return 0;
}		

保存退出,接着输入如下:

vi demo3.c

./a.out

vi file1

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ubuntu学习(四)----文件写入操作编程 的相关文章

随机推荐

  • 为什么每家公司都需要协作工具?

    前言 企业很多时候 和一个人是一样一样一样的 经营 也和一个人的成长是一样一样一样的 作为企业的管理者 如何健康存续的运营公司 是每个合格CEO不断成长路径上的必修课 就像 谈谈SaaS创业和企业服务的常识 中提到的企业服务常识 今天和大家
  • MySQL要不要容器化?能不能运行在Docker?

    文章目录 概述 数据安全问题 性能问题 状态问题 资源隔离方面 MySQL 其实也是容器化 概述 容器的定义 容器是为了解决 在切换运行环境时 如何保证软件能够正常运行 这一问题 目前 容器和 Docker 依旧是技术领域最热门的词语 无状
  • 嵌入式系统之KPN网络图

    specification model 推荐用于并行程序 进程通过无线规格的FIFO队列进行通信 读 具有破坏性和阻塞 一个进程停留在waiting队列直到它被另外一个进程的通道传输 写 非阻塞 一个进程不能阻止一个通道传输数据 KPN图像
  • MySQL数据库迁移详细步骤

    转载自 http sofar blog 51cto com 353572 1598364 一 背景简介 1 问题描述 由于机房搬迁 需要对后台DB服务器进行迁移 同时为了保证在数据迁移过程中 对线上业务不造成影响 并能够做到秒级切换 如果我
  • 腾讯云服务器部署使用教程_新手入门

    腾讯云服务器使用教程包括注册账号实名认证 选择云服务器CVM或轻量应用服务器CPU内存带宽和系统盘配置 安全设置和云服务器远程连接 安全组端口开通教程 云服务器环境部署以搭建网站为例手把手网站上线 云服务器文件传输和数据备份以及技术支持等详
  • 第1章 Python简介(1)

    第1章 Python简介 Python语言是一种面向对象的解释型高级编程语言 由Guido van Rossum于1989年底发明 第一个公开发行版发行于1991年 目前 Python语言有两个版本 Python 2 x和Python 3
  • stm32控制OLED显示实验(IIC、汉字显示)

    OLED c include stm32f10x h include OLED Font h 引脚配置 define OLED W SCL x GPIO WriteBit GPIOB GPIO Pin 10 BitAction x defi
  • 几种求最小公倍数的方法

    http blog csdn net iwm next article details 7450424 这是原链接 谢谢该博主的分享 写的很不错哦
  • cocoapods的安装与使用心得整理

    一 安装命令 sudo gem install cocoapods pod setup 这个时候需要耐心的等待哈 如果网络慢的话 需要等更久呢 每一行命令都会有回应的 如果遇到报错如下 Error fetching https rubyge
  • range 函数生成可迭代对象,for_in

    range 函数生成可迭代对象 for in range start stop step start 可选参数 默认为 0 表示序列起点 stop 必选参数 表示序列终点 不包括终点 step 可选参数 序列的步长 默认为 1 print
  • 软件自动化测试基本流程(附流程图)

    自动化测试与软件开发过程从本质上来讲是一样的 无非是利用自动化测试工具 相当于软件开发工具 经过对测试需求的分析 软件过程中的需求分析 设计出自动化测试用例 软件过程中的需求规格 从而搭建自动化测试的框架 软件过程中的概要设计 设计与编写自
  • ubuntu安装python3.6 software-properties-common

    gnupg 破坏 software properties common lt 0 96 24 3 but sudo apt install only upgrade gnupg
  • DKVMN学习

    文章目录 前言 Memory Augmented Neural Network MANN for Knowledge Tracing DKVMN模型 实验结果 DKVMN总结 DKVMN BORUTA模型 SKVMN模型 Deep IRT模
  • background-position设置百分比“失效了”!!

    1 background position设置百分比的计算原理 当指定百分比值的时候 实际上执行了以下的计算公式 该公式可以用数学方式定义图片和容器相对位置重合 这是当background size auto 时 百分比有效 contain
  • 组装一台1u服务器

    1 服务器的内存条都是带校验功能的 2 服务器cpu可以多个 一般电脑只有一个
  • NAS个人云存储服务器搭建

    NAS Network Attached Storage 网络附属存储 通过网络提供数据访问服务 可以理解为长时间连网的存储设备 其功能基本和市面上的各种云盘相似 它以数据为中心 将存储设备与服务器彻底分离 集中管理数据 从而释放带家 提高
  • layui 时间选择器laydate开始时间结束时间限制,及设置默认时分秒

    这个时间控件实现了 开始时间和结束时间都不得超过当前时间 结束时间大于开始时间并且小于当前时间 开始时间默认时分秒为00 00 00 结束时间默认时分秒为23 59 59 其他官方自带功能 项目中的需求是 结束时间要大于开始时间 包括时分秒
  • 全网页截图教程,如何截图截全屏

    系统自身的截屏快捷键 台式键盘的电脑 全屏 Ctrl Print Screen 当前窗口 Alt Print Screen 笔记本截图快捷键 FN Prt sc 浏览器自带的 非常好用 在浏览器打开要截取全网页为图片的那个网页 打开那个网页
  • Unity—常用API(续Time类)

    今天整理了Time类 一张很有意思的理解API的图 此图灵感来源于 如何理解API API 是如何工作的 仁杰兄的博客 CSDN博客 api 目录 Time 练习 使用Text制作倒计时预制体 在Update每帧执行的方法中 个别语句实现指
  • ubuntu学习(四)----文件写入操作编程

    1 write函数的详解 ssize t write int fd const void buf size t count 参数说明 fd 是文件描述符 write所对应的是写 即就是1 buf 通常是一个字符串 需要写入的字符串 coun