文件的基础

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  --- 错误信息提示符

  • 15
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值