C语言-文件IO

本文详细介绍了Unix/Linux系统中进行文件IO操作的基本方法,包括使用open()函数以不同模式打开和创建文件,close()函数关闭文件,read()和write()函数进行文件的读写,以及lseek()函数管理文件光标进行定位。此外,还提供了一个使用文件IO实现文件复制的示例。
摘要由CSDN通过智能技术生成

=============================

文件IO的基本操作:
    打开文件,创建文件,关闭文件,读写文件
    
=============================

注意:
    文件IO所有操作都是基于文件描述符的(即直接对文件描述符进行操作)
    
=============================

1.打开文件
    open()函数:
        功能:
            打开文件
        
        格式:
            #include <sys/types.h>
            #include <sys/stat.h>
            #include <fcntl.h>
            int open(const char *pathname, int flags);
            int open(const char *pathname, int flags, mode_t mode);
            
            
        参数:
            pathname:文件路径名(即包含相对路径或者决定路径的文件名)
            flages:打开文件的方式
            mode:给创建的文件的权限(即文件的掩码)
            
            ==========================================
            
            掩码:
                1.目录的默认掩码是0777
                2.文件的默认掩码是0666
            
            ==========================================
            打开文件的方式:
                1.O_RDONLY:以只读的方式打开文件
                2.O_WRONLY:以只写的方式打开文件
                3.O_RDWR:以读写的方式打开文件
                
                注意:
                    以上3中方式是互斥方式,只能三选一使用
        
            ==========================================
        
                1.O_EXCL:当打开方式中使用了O_CREAT方式时,O_EXCL会检测即将打开的文件是否存在(如果即将打开的文件不存在,则使用O_CREAT创建文件)
                2.O_NOCTTY:使用此参数时,被打开的文件不能是终端
                3.O_TRUNC:清空模式(即每次打开文件,都会清空文件之前的内容)
                4.O_CREAT:如果此文件不存在,则创建此文件(使用此参数时,open函数会开启第三参数mode)
                5.O_APPEND:追加模式(即每次都是在文件的末尾写入)
                
            ===========================================
                
        返回值:
            1.打开成功,则返回文件描述符
            2.打开失败,则返回-1,和错误码
            
            
        例子:打开的文件已存在
            #include <stdio.h>    

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值