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

相关推荐
71-314 分钟前
Android studio中真机操作
android·笔记·学习·其他·android studio
·中年程序渣·20 分钟前
Spring AI Alibaba入门学习(五)
人工智能·学习
papaofdoudou1 小时前
QEMU和KVMTOOL在GPA(IOVA)和HVA映射方面的异同
linux·运维·服务器
AnalogElectronic1 小时前
RP2040学习4,LED点亮,OLED显示,DHT11温湿度传感器数据读取
单片机·嵌入式硬件·学习
adore.9681 小时前
3.15 复试学习
学习
不光头强1 小时前
jwt学习
java·大数据·学习
952361 小时前
MySQL - 集群架构与实践
数据库·学习·mysql·架构
艾莉丝努力练剑1 小时前
文件描述符fd:跨进程共享机制
java·linux·运维·服务器·开发语言·c++
原来是猿2 小时前
Linux-【文件系统下】
linux·运维·数据库
勇闯逆流河2 小时前
【Linux】linux进程概念(冯洛伊曼体系、操作系统、进程详解)
linux·运维·服务器