首页 > 其他分享 >文件的基础

文件的基础

时间:2024-06-30 22:57:30浏览次数:3  
标签:文件 基础 错误信息 错误码 出错 errno 库函数

1、定义

文件:一组相关数据的有序集合。

文件名:这个数据集合的名称。

2、文件类型

Linux上一切皆文件

常规文件: -

}ASCII码文件

}二进制的文件

目录: d

字符设备: c

块设备: b

有名管道: p

套接口: s

符号链接: l

3、系统调用和库函数

系统调用

用户空间进程访问内核的接口

把用户从底层的硬件编程中解放出来

极大的提高了系统的安全性

使用户程序具有可移植性

是操作系统的一部分

库函数

库函数为了实现某个功能而封装起来的API集合

提供统一的编程接口,更加便于应用程序的移植

是语言或者应用程序的一部分

4、输入输出

文件描述符

顺序分配的非负整数

内核用以标识一个特定进程正在访问的文件

其他资源(socket、pipe等)的访问标识

标准输入、标准输出和标准出错

由shell默认打开,分别为0/1/2

不用缓存的I/O

通过文件描述符进行访问

open()/read()/write()/lseek()/close()…

标准I/O

通过FILE*进行访问

printf()/fprintf()/fopen()/fread()/fwrite()/fseek()/fclose()…

6、出错处理

全局错误码errno

在errno.h中定义,全局可见

错误值定义为“EXXX”形式,如EACCESS

处理规则

如果没有出错,则errno值不会被一个例程清除,即只有出错时,才需要检查errno值

任何函数都不会将errno值设置为0,errno.h中定义了所有常数都不为0

错误信息输出

strerror() - 映射errno对应的错误信息

perror() – 输出用户信息及errno对应的错误信息

        

        #include <string.h>
        char *strerror(int errnum);  
        参数: errnum  --- 错误码
        返回值: 错误码对应的错误信息

        #include <stdio.h>
        void perror(const char *s);
        参数: s  --- 错误信息提示符

标签:文件,基础,错误信息,错误码,出错,errno,库函数
From: https://blog.csdn.net/m0_49236682/article/details/140088099

相关文章

  • 【Redis —— 04 Redis配置文件】
    Redis配置文件(通常为redis.conf)包含多种配置选项,可以调整Redis服务器的行为和性能。以下是Redis配置文件中的常见配置项及其详解:官网:Redisconfiguration|Docs常用配置项1.基本配置bind绑定的IP地址。如果你想让Redis监听多个IP地址,可以用空格分隔多个IP。示例:b......
  • HarmonyOS应用开发者基础认证,Next版本发布后最新题库
    笔者会尽量找到答案的出处,力求答案准确无误。有些题目答案可能有错,也有一些笔者实在找不到出处,也不知道答案的,如果读者发现错误或有补充建议,欢迎评论或私信笔者。您的每一条反馈都是宝贵的,能够帮助笔者不断完善这篇文章,也能让下一个看到这篇文章的读者,从中获得更加丰富和准......
  • 墨烯的C语言技术栈-C语言基础-001
    (最近报名了9月的计算机二级得好好重温一下C语言祝我计算机二级必过!)学习视频为B站的哔哩大学计算机学院参考书籍为C语言程序设计第五版(张磊主编)一.什么是C语言C语言是一门通用计算机编程语言广泛应用底层开发C语言的设计目标是提供一种能以简易的方式编译处理低级存......
  • 应用数学与机器学习基础 - 深度学习的动机与挑战篇
    序言深度学习,作为当代人工智能领域的核心驱动力,其动机源于对模拟人类智能深层认知机制的渴望。我们追求的是让机器能够像人类一样理解、分析并应对复杂多变的世界。然而,这一追求之路并非坦途,面临着数据获取与处理的挑战、模型复杂度的控制、计算资源的巨大消耗等重重障碍。......
  • vim基础使用
    五、vim编辑器的使用所有的Linux系统都默认有vi编译器,它就相当于Windows的记事本,当然,你也可以选择更好用的vim编译器,需要下载yuminstallvim-yvim有三种模式使用vimfilenamewq!之后这个命令如果filename不存在则创建文件[root@bogonopt]#vimzhanghaowei.txt[root@......
  • 文件链接
    文件链接创建连接时一定要写绝对路径【1】、硬链接硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。相比于软连接来说,硬链接和原文件来说没有那么强的联系,如果我修改了原文件,硬链接的内容也会变化硬链接就是一个i......
  • 文件压缩和解压缩
    Linux文件压缩和解压缩打包:就是把一堆文件放在一起,并不会节省磁盘空间,仅仅是进行一个归类整理的过程压缩:把一堆文件放在一起,再进行压缩,会节省磁盘空间在Linux中存在如下几种压缩格式.gzip(压缩速度最快).bzip2.xz(压缩效果最好)【1】tar命令制作压缩包(打包压缩)选项......
  • 【python】一篇文零基础到入门:快来玩吧~
    本笔记材料源于:PyCharm|创建你的第一个项目_哔哩哔哩_bilibiliPython语法及入门(超全超详细)专为Python零基础一篇博客让你完全掌握Python语法-CSDN博客0为什么安装python和pycharm?不同于c,c++,这些语言需要编译器转成机器码,然后执行。python可以靠解释器逐行转换,执行。......
  • 【ESP32】打造全网最强esp-idf基础教程——13.ESP32中的NVS
    ESP32中的NVS    这几天的天气只有钱包的余额能让我冷静,好好活着,每天都有新的打击,写写博客压压惊。一、什么是NVS?    NVS即Non-volatilestorage,意思是非易失存储,也就是掉电后能依然能持久化保存数据。在我们应用NVS时,一般用于存储一些配置数据、状态数据等,一......
  • Linux基础命令
    三、基础命令全解【1】、ls命令查看folderandfile使用方法:Usage:ls[OPTION]...[FILE]...常用选项-a:显示目录下所有的内容,包括隐藏内容-l:以长格式显示目录下的内容以及详细信息-h:以人性化显示目录下各个文件的大小(KB、MB、GB)-d:仅显示目录本身而不显示内部的文......