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

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

输入如下代码:

cpp 复制代码
#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

相关推荐
诸葛悠闲1 小时前
XCP协议在以太网上实现的配置
学习
郭式云源生法则1 小时前
归档及压缩、重定向与管道操作和综合使用,find精确查找、find处理查找结果、vim高级使用、vimdiff多文件使用
linux·运维·服务器
一张假钞1 小时前
Ubuntu 24.04 安装 Jenkins
linux·ci/cd·jenkins
tuokuac2 小时前
查看你电脑上某个端口正在被哪个进程占用
linux
MANONGMN2 小时前
Linux 通配符与正则表达式(含实战案例+避坑指南)
linux·运维·正则表达式
遇印记2 小时前
大二java学习笔记:二维数组
java·笔记·学习
带土12 小时前
18 .shell编程-正则表达式
linux·正则表达式
爱吃甜品的糯米团子3 小时前
Linux 学习笔记之进程管理、网络基础与常用软件安装
linux·网络·学习
Micro麦可乐3 小时前
Centos Stream 9 中Docker安装出现 download.docker.com:443 的问题解决
linux·docker·centos·podman
poemyang3 小时前
你的程序为何卡顿?从LINUX I/O三大模式寻找答案
linux·rpc