当前位置: 首页 > news >正文

Linux下的系统编程——系统调用(五)

前言:

由操作系统实现并提供给外部应用程序的编程接口。(Application Programming Interface,API)。系统调用就是应用程序同系统之间数据交互的桥梁。

open/close函数

1.open函数:

    (1)int open(char *pathname, int flags)    #include <unistd.h>

    参数:
        pathname: 欲打开的文件路径名

        flags:文件打开方式:  #include <fcntl.h>

                 O_RDONLY|O_WRONLY|O_RDWR                    O_CREAT|O_APPEND|O_TRUNC|O_EXCL|O_NONBLOCK ....

    返回值:
        成功: 打开文件所得到对应的 文件描述符(整数)

        失败: -1, 设置errno    

 

 

    (2)int open(char *pathname, int flags, mode_t mode)        123  775    

    参数:
        pathname: 欲打开的文件路径名

        flags:文件打开方式:    

                O_RDONLY|O_WRONLY|O_RDWR                    O_CREAT|O_APPEND|O_TRUNC|O_EXCL|O_NONBLOCK ....

        mode: 参数3使用的前提, 参2指定了 O_CREAT。    

                取值8进制数,用来描述文件的 访问权限。 rwx    0664

                创建文件最终权限 = mode & ~umask

    返回值:
        成功: 打开文件所得到对应的 文件描述符(整数)

        失败: -1, 设置errno    

 

2.close函数:

    int close(int fd);

3.错误处理函数:        

    与 errno 相关。

        printf("xxx error: %d\n", errno);

 

 

    char *strerror(int errnum);

        printf("xxx error: %s\n", strerror(errno));

    void perror(const char *s);

        perror("open error");

http://www.lryc.cn/news/138770.html

相关文章:

  • 动物体外受精手术VR模拟仿真培训系统保证学生及标本的安全
  • 微信小程序|步骤条
  • 如何才能设计出“好的”测试用例?
  • DirectExchange直连交换机
  • Shell 编程:探索 Shell 的基本概念与用法
  • 【Git分支操作---讲解二】
  • vue2+qrcodejs2+clipboard——实现二维码展示+下载+复制到剪切板——基础积累
  • 【PHP】echo 输出数组报Array to string conversion解决办法
  • Arduino驱动MiCS-4514气体传感器(气体传感器篇)
  • marked在vue项目中改变超链接跳转方式和图片放大预览
  • leetcode485. 最大连续 1 的个数
  • linux 源代码编译
  • C语言日常刷题 1
  • es和数据库同步方案
  • 手机NFC功能是什么?
  • 零拷贝技术详解
  • 【VS Code插件开发】消息通信(四)
  • 开源硬件:下一个技术革命?
  • 开发一个npm组件包
  • 有限与无限游戏 | 真北荐书
  • 网络安全(黑客)自学剖析
  • Leetcode每日一题:1267. 统计参与通信的服务器
  • HarmonyOS开发:超详细了解项目的工程结构
  • HTML基础知识点
  • 基于CBAM-CNN卷积神经网络预测研究(Python代码实现)
  • iOS开发Swift-基本运算符
  • Flink java 工具类
  • 2023年你需要知道的最佳预算Wi-Fi路由器清单
  • Go语言基础之流程控制
  • Git 安装、配置并把项目托管到码云 Gitee