如何使用open命令

[复制链接]
查看11 | 回复1 | 2011-5-18 11:22:42 | 显示全部楼层 |阅读模式
如何使用open命令
回复

使用道具 举报

千问 | 2011-5-18 11:22:42 | 显示全部楼层
open是一个非标准的低级文件I/O函数,返回的是文件的低级句柄,原型:
intopen(char*path,intaccess,...);
open是一个可变参数的函数实现,后面的可变参数通常表示unsignedmode,mode参数是否存在要看access的值,path是文件的路径和名称。
access和mode的可取值通常在FCNTL.h里面定义,access的可取值如下:
#defineO_RDONLY1
#defineO_WRONLY2
#defineO_RDWR4
宏含义如下:O_RDONLY1只读;O_WRONLY2只写;O_RDWR4读写
目前基本不用,使用fopen。
FILE*fopen(char*filename,char*mode)
filename文件名称
mode打开模式:
r只读方式打开一个文本文件
rb只读方式打开一个二进制文件
w只写方式打开一个文本文件
wb只写方式打开一个二进制文件
a追加方式打开一个文本文件
ab追加方式打开一个二进制文件
r可读可写方式打开一个文本文件
rb可读可写方式打开一个二进制文件
w可读可写方式创建一个文本文件
wb可读可写方式生成一个二进制文件
a可读可写追加方式打开一个文本文件
ab可读可写方式追加一个二进制文件
open和fopen的区别:
前者属于低级IO,后者是高级IO。
前者返回一个文件描述符,后者返回一个文件指针。
前者无缓冲,后者有缓冲。
前者与read,write等配合使用,后者与fread,fwrite等配合使用。
后者是在前者的基础上扩充而来的,在大多数情况下,用后者。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行