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

相关推荐
Mortalbreeze3 分钟前
MySQL 基础篇(五):数据操作基础 —— CRUD
linux·服务器·数据库·mysql
Ivanqhz10 小时前
激活函数在 Transformer 中的作用及各种变体简述
java·linux·数据库·人工智能·深度学习
青柠之夏cc11 小时前
AI与教育:个性化学习助手让“因材施教“成为现实,但代价是隐私?
人工智能·学习
for_ever_love__11 小时前
机器学习入门——手写线性回归与梯度下降
人工智能·python·学习·机器学习·线性回归
在猴站学算法12 小时前
(SQL注入学习)无回显的报错注入(Error-Based)
学习·网络安全·sql注入·ctf竞赛
殷色玫瑰13 小时前
C/C++ 内存管理详解:从内存分布到 new/delete 底层原理
java·linux·c语言·c++
知识分享小能手13 小时前
C++ 学习教程,从入门到精通,C++ 友元、异常和其他特性 — 详细知识点(15)
开发语言·c++·学习
꯭自꯭闭꯭14 小时前
DM7主备升级方案
linux·服务器·数据库
用户41071920132514 小时前
VMware 虚拟机Ubuntu 环境linux远程连接失败
linux
lisanmengmeng14 小时前
Nagios邮件报警的配置
linux·运维·服务器