精华内容
下载资源
问答
  • open函数参数及返回值

    千次阅读 2014-03-05 10:18:01
    open(打开文件)  相关函数 read,write,fcntl,close,link,stat,umask,unlink,fopen  ...定义函数 int open( const char * pathname, int flags); int open( const char * pathname,int flags

    open(打开文件) 
    相关函数 read,write,fcntl,close,link,stat,umask,unlink,fopen 
    表头文件 #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 指向欲打开的文件路径字符串。

    第二参数flags 所能使用的旗标:
    O_RDONLY 以只读方式打开文件
    O_WRONLY 以只写方式打开文件
    O_RDWR 以可读写方式打开文件。上述三种旗标是互斥的,也就是不可同时使用,但可与下列的旗标利用OR(|)运算符组合。
    O_CREAT 若欲打开的文件不存在则自动建立该文件。
    O_EXCL 如果O_CREAT 也被设置,此指令会去检查文件是否存在。文件若不存在则建立该文件,否则将导致打开文件错误。此外,若O_CREAT与O_EXCL同时设置,并且欲打开的文件为符号连接,则会打开文件失败。
    O_NOCTTY 如果欲打开的文件为终端机设备时,则不会将该终端机当成进程控制终端机。
    O_TRUNC 若文件存在并且以可写的方式打开时,此旗标会令文件长度清为0,而原来存于该文件的资料也会消失。
    O_APPEND 当读写文件时会从文件尾开始移动,也就是所写入的数据会以附加的方式加入到文件后面。
    O_NONBLOCK 以不可阻断的方式打开文件,也就是无论有无数据读取或等待,都会立即返回进程之中。
    O_NDELAY 同O_NONBLOCK。
    O_SYNC 以同步的方式打开文件。
    O_NOFOLLOW 如果参数pathname 所指的文件为一符号连接,则会令打开文件失败。
    O_DIRECTORY 如果参数pathname 所指的文件并非为一目录,则会令打开文件失败。
    此为Linux2.2以后特有的旗标,以避免一些系统安全问题。参数mode 则有下列数种组合,只有在建立新文件时才会生效,此外真正建文件时的权限会受到umask值所影响,因此该文件权限应该为(mode-umaks)。
    S_IRWXU00700 权限,代表该文件所有者具有可读、可写及可执行的权限。
    S_IRUSR 或S_IREAD,00400权限,代表该文件所有者具有可读取的权限。
    S_IWUSR 或S_IWRITE,00200 权限,代表该文件所有者具有可写入的权限。
    S_IXUSR 或S_IEXEC,00100 权限,代表该文件所有者具有可执行的权限。
    S_IRWXG 00070权限,代表该文件用户组具有可读、可写及可执行的权限。
    S_IRGRP 00040 权限,代表该文件用户组具有可读的权限。
    S_IWGRP 00020权限,代表该文件用户组具有可写入的权限。
    S_IXGRP 00010 权限,代表该文件用户组具有可执行的权限。
    S_IRWXO 00007权限,代表其他用户具有可读、可写及可执行的权限。
    S_IROTH 00004 权限,代表其他用户具有可读的权限
    S_IWOTH 00002权限,代表其他用户具有可写入的权限。
    S_IXOTH 00001 权限,代表其他用户具有可执行的权限。

    返回值 若所有欲核查的权限都通过了检查则返回0 值,表示成功,只要有一个权限被禁止则返回-1。

    错误代码 EEXIST 参数pathname 所指的文件已存在,却使用了O_CREAT和O_EXCL旗标。
    EACCESS 参数pathname所指的文件不符合所要求测试的权限。
    EROFS 欲测试写入权限的文件存在于只读文件系统内。
    EFAULT 参数pathname指针超出可存取内存空间。
    EINVAL 参数mode 不正确。
    ENAMETOOLONG 参数pathname太长。
    ENOTDIR 参数pathname不是目录。
    ENOMEM 核心内存不足。
    ELOOP 参数pathname有过多符号连接问题。
    EIO I/O 存取错误。

    附加说明 使用access()作用户认证方面的判断要特别小心,例如在access()后再作open()空文件可能会造成系统安全上的问题。

    范例 #include<unistd.h>
    #include<sys/types.h>
    #include<sys/stat.h>
    #include<fcntl.h>
    main()
    {
    int fd,size;
    char s [ ]=”Linux open!/n”,buffer[80];
    fd=open(“/tmp/temp”,O_WRONLY|O_CREAT);
    write(fd,s,sizeof(s));
    close(fd);
    fd=open(“/tmp/temp”,O_RDONLY);
    size=read(fd,buffer,sizeof(buffer));
    close(fd);
    printf(“%s”,buffer);
    }

    执行 Linux open!

    展开全文
  • Recordset对象的Open函数参数

    千次阅读 2004-12-29 14:03:00
    Recordset对象的Open函数参数 我们来谈谈Recordset对象的Open函数参数的意义,参数一是数据表名或者Select指令;参数二为Connection对象,我们着重分析一下参数三和参数四的意义。参数三:Recordset类型。 它含有...
    Recordset对象的Open函数参数 
    
    我们来谈谈Recordset对象的Open函数参数的意义,参数一是数据表名或者Select指令;参数二为Connection对象,我们着重分析一下参数三和参数四的意义。参数三:Recordset类型。 
    
    它含有以下四种设置值 
    Recordset类型的设置值 意义 
    AdOpenForwardOnly(=0) 只读,且当前数据记录只能向下移动 
    AdOpenStaqtic(=3) 只读,当前数据记录可自由移动 
    AdOpenKeyset(=1) 可读写,当前数据记录可自由移动 
    AdOpenDynamic(=2) 可读写,当前数据记录可自由移动 
    注:AdOpenKeyset及AdOpenDynamic的差别只表现在多人共用数据库时,若以AdOpenKeyset模式打开数据表,则无法看到其他人新增的数据记录(除非重新启动),若以AdOpenDynamic模式打开数据表,则可以看到其他人新增的数据记录 
    参数四:锁定类型。含有以下四种设置值 
    
    锁定类型的设置值 意义 
    AdLockReadOnly(=1) 默认值,用来打开只读的数据记录 
    AdLockPessimistic(=2) 悲观锁定 
    AdLockOptimistic(=3) 乐观锁定 
    AdLockBatchOptimistic(=40 批次乐观锁定 
    AdLockReadOnly:故名思义,就是只对数据读取数据,而不能对数据库的记录进行有变更的数据操作。 
    AdLockPessimistic:它指的是当任何两个程序同时更新同一条记录的时候,只能允许唯一一个程序进行数据更新。例如: 
    rs("loginnum")=rs("loginnum")+1 
    rs.update 
    
    如果使用了这种模式的模型方式,当程序利用rs("loginnum")=数值语句开始改变数据记录的时候,数据记录就进入了记录锁定状态。 
    
    AdLockOptimistic:它指的是两个程序对同一条记录进行更新的情况几乎不可能发生,因此它只是在数据写入数据的时候暂时锁定数据记录。例如: 
    rs("loginnum")=rs("loginnum")+1 
    rs.update 
    
    也就是说只有在rs.update执行的时候才开始锁定记录,语句完成后才解锁,这样就有可能发生某一程序对数据记录的更新是不完成的。 
    
    AdLockBatchOptimistic:它在更改数据记录的过程中,暂时不将更新的结果写入数据库,直到调用updatebatch函数时才将整批更新的数据写入数据库,而且也只在在这个时候才锁定欲更新的数据记录。例如: 
    while not rs.eof 
    rs("loginnum")=rs("loginnum")+1 
    rs("applynum")=rs("applynum")+1 
    rs.movenext 
    rs.updatebatch 
    wend 
    
    注意,如果使用这种模式,更新的函数就是updatebatch而不是update了。 
    
    通过以上的介绍,当语句写成:rs.open sql,conn,1,1的时候,其真正意义就是: 
    
    rs.open sql,conn,adopenkeyset,adlockreadonly
    
    
    Top
    展开全文
  • open函数参数以及返回值详解

    万次阅读 2012-12-19 10:32:54
    open(打开文件) 相关函数 read,write,fcntl,close,link,stat,umask,unlink,fopen ...定义函数 int open( const char * pathname, int flags); int open( const char * pathname,int flag

    open(打开文件)
    相关函数 read,write,fcntl,close,link,stat,umask,unlink,fopen
    表头文件 #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 指向欲打开的文件路径字符串。


    第二参数flags

    所能使用的旗标:

    O_RDONLY 以只读方式打开文件

    O_WRONLY 以只写方式打开文件

    O_RDWR 以可读写方式打开文件。上述三种旗标是互斥的,也就是不可同时使用,但可与下列的旗标利用OR(|)运算符组合。

    O_CREAT 若欲打开的文件不存在则自动建立该文件。

    O_EXCL 如果O_CREAT 也被设置,此指令会去检查文件是否存在。文件若不存在则建立该文件,否则将导致打开文件错误。此外,若O_CREAT与O_EXCL同时设置,并且欲打开的文件为符号连接,则会打开文件失败。

    O_NOCTTY 如果欲打开的文件为终端机设备时,则不会将该终端机当成进程控制终端机。

    O_TRUNC 若文件存在并且以可写的方式打开时,此旗标会令文件长度清为0,而原来存于该文件的资料也会消失。

    O_APPEND 当读写文件时会从文件尾开始移动,也就是所写入的数据会以附加的方式加入到文件后面。

    O_NONBLOCK 以不可阻断的方式打开文件,也就是无论有无数据读取或等待,都会立即返回进程之中。

    O_NDELAY 同O_NONBLOCK。

    O_SYNC 以同步的方式打开文件。

    O_NOFOLLOW 如果参数pathname 所指的文件为一符号连接,则会令打开文件失败。

    O_DIRECTORY 如果参数pathname 所指的文件并非为一目录,则会令打开文件失败。

    此为Linux2.2以后特有的旗标,以避免一些系统安全问题。


    参数mode

    有下列数种组合,只有在建立新文件时才会生效,此外真正建文件时的权限会受到umask值所影响,因此该文件权限应该为(mode-umaks)。

    S_IRWXU00700 权限,代表该文件所有者具有可读、可写及可执行的权限。

    S_IRUSR 或S_IREAD,00400权限,代表该文件所有者具有可读取的权限。

    S_IWUSR 或S_IWRITE,00200 权限,代表该文件所有者具有可写入的权限。

    S_IXUSR 或S_IEXEC,00100 权限,代表该文件所有者具有可执行的权限。

    S_IRWXG 00070权限,代表该文件用户组具有可读、可写及可执行的权限。

    S_IRGRP 00040 权限,代表该文件用户组具有可读的权限。

    S_IWGRP 00020权限,代表该文件用户组具有可写入的权限。

    S_IXGRP 00010 权限,代表该文件用户组具有可执行的权限。

    S_IRWXO 00007权限,代表其他用户具有可读、可写及可执行的权限。

    S_IROTH 00004 权限,代表其他用户具有可读的权限

    S_IWOTH 00002权限,代表其他用户具有可写入的权限。

    S_IXOTH 00001 权限,代表其他用户具有可执行的权限。


    返回值

    若所有欲核查的权限都通过了检查则返回0 值,表示成功,只要有一个权限被禁止则返回-1。


    错误代码

    EEXIST 参数pathname 所指的文件已存在,却使用了O_CREAT和O_EXCL旗标。

    EACCESS 参数pathname所指的文件不符合所要求测试的权限。

    EROFS 欲测试写入权限的文件存在于只读文件系统内。

    EFAULT 参数pathname指针超出可存取内存空间。

    EINVAL 参数mode 不正确。

    ENAMETOOLONG 参数pathname太长。

    ENOTDIR 参数pathname不是目录。

    ENOMEM 核心内存不足。

    ELOOP 参数pathname有过多符号连接问题。

    EIO I/O 存取错误。

    附加说明 使用access()作用户认证方面的判断要特别小心,例如在access()后再作open()空文件可能会造成系统安全上的问题。


    范例


    #include<unistd.h>

    #include<sys/types.h>

    #include<sys/stat.h>

    #include<fcntl.h>

    main()

    {

    int fd,size;

    char s [ ]=”Linux open!/n”,buffer[80];

    fd=open(“/tmp/temp”,O_WRONLY|O_CREAT);

    write(fd,s,sizeof(s));

    close(fd);

    fd=open(“/tmp/temp”,O_RDONLY);

    size=read(fd,buffer,sizeof(buffer));

    close(fd);

    printf(“%s”,buffer);

    }

    执行 Linux open!

    展开全文
  • 【Linux】open函数参数和作用

    万次阅读 多人点赞 2017-12-30 16:09:47
    一、open函数用来干什么open函数在Linux下一般用来打开或者创建一个文件,我们可以根据参数来定制我们需要的文件的属性和用户权限等各种参数。二、open函数的定义和参数我们首先来看下open函数在Linux下的定义#...

    一、open函数用来干什么

    open函数在Linux下一般用来打开或者创建一个文件,我们可以根据参数来定制我们需要的文件的属性和用户权限等各种参数。

    二、open函数的定义和参数

    我们首先来看下open函数在Linux下的定义

    #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);

    头文件

    如上所示,我们在使用open函数时候需要添加的头文件是

    #include <sys/types.h>//这里提供类型pid_t和size_t的定义
    #include <sys/stat.h>
    #include <fcntl.h>

    返回值

    open函数的返回值如果操作成功,它将返回一个文件描述符,如果操作失败,它将返回-1。

    参数含义:

    1、pathname:

    在open函数中第一个参数pathname是指向想要打开的文件路径名,或者文件名。我们需要注意的是,这个路径名是绝对路径名。文件名则是在当前路径下的。

    2、flags:

    flags参数表示打开文件所采用的操作,我们需要注意的是:必须指定以下三个常量的一种,且只允许指定一个

    • O_RDONLY:只读模式
    • O_WRONLY:只写模式
    • O_RDWR:可读可写

    以下的常量是选用的,这些选项是用来和上面的必选项进行按位或起来作为flags参数。

    • O_APPEND 表示追加,如果原来文件里面有内容,则这次写入会写在文件的最末尾。
    • O_CREAT 表示如果指定文件不存在,则创建这个文件
    • O_EXCL 表示如果要创建的文件已存在,则出错,同时返回 -1,并且修改 errno 的值。
    • O_TRUNC 表示截断,如果文件存在,并且以只写、读写方式打开,则将其长度截断为0。
    • O_NOCTTY 如果路径名指向终端设备,不要把这个设备用作控制终端。
    • O_NONBLOCK 如果路径名指向 FIFO/块文件/字符文件,则把文件的打开和后继 I/O设置为非阻塞模式(nonblocking mode)

    以下三个常量同样是选用的,它们用于同步输入输出

    • O_DSYNC 等待物理 I/O 结束后再 write。在不影响读取新写入的数据的前提下,不等待文件属性更新。
    • O_RSYNC read 等待所有写入同一区域的写操作完成后再进行
    • O_SYNC 等待物理 I/O 结束后再 write,包括更新文件属性的 I/O

    3、mode:

    mode参数表示设置文件访问权限的初始值,和用户掩码umask有关,比如0644表示-rw-r–r–,也可以用S_IRUSR、S_IWUSR等宏定义按位或起来表示,详见open(2)的Man Page。要注意的是,有以下几点

    • 文件权限由open的mode参数和当前进程的umask掩码共同决定。
    • 第三个参数是在第二个参数中有O_CREAT时才作用,如果没有,则第三个参数可以忽略

    三、open函数与fopen函数区别

    从来源来分,这两者很好区分:

    open函数是Unix下系统调用函数,操作成功返回的是文件描述符,操作失败返回的是-1,

    fopen是ANSIC标准中C语言库函数,所以在不同的系统中调用不同的内核的API,返回的是一个指向文件结构的指针。

    同时open函数没有缓冲,fopen函数有缓冲,open函数一般和write配合使用,fopen函数一般和fwrite配合使用。

    展开全文
  • open函数的定义形式:int open(const char *pathname, int flags); 参数说明: 1、pathname指的是文件的路径+文件名,路径可以是相对路径,也可以是绝对路径。 2、flags指的是打开文件的状态:O_RDONLY、O_WRONLY、...
  • open函数参数问题

    千次阅读 2014-08-08 14:16:48
    #include int open(const char *pathname, int flags); int open(const char *pathname, int ...对于open函数来说,第三个参数仅当创建新文件时(即使用了O_CREAT 时)才使用,用于指定文件的访问权限位(access perm
  • open函数mode参数详解

    千次阅读 2017-09-22 14:52:45
    int open(const char* path, int oflag, .../* mode_t mode */) int openat(int fd, const char* path, int oflag, .../* mode_t mode */) 必选参数: O_RDONLY 只读打开 O_WRONLY 只写打开 O_RDWR 读写打开 O_E
  • 关于Open函数的newline参数

    千次阅读 2020-07-28 18:14:40
    with open(outfile2, 'a+') as f: df.to_csv(f, sep='=', index_label=False, header=False) 然后我检查文件发现每两行数据间会有多余的空行,咋回事呢? 初探 去找了 pandas 里 pandas.DataFrame.to_csv 的文档,...
  • linux open函数详解

    万次阅读 多人点赞 2018-06-15 10:28:15
    原文地址:https://blog.csdn.net/archyli/article/details/78937937一、open函数用来干什么open函数在...二、open函数的定义和参数我们首先来看下open函数在Linux下的定义#include &lt;sys/types.h&gt; #i...
  • open函数参数选项O_EXCL解析

    千次阅读 2015-11-13 17:26:25
    带O_EXCL参数选项的差别: 第一种: int fd = open(PATH, O_RDWR | O_CREAT, 0666); 当PATH存在时,函数返回值fd为该文件描述符,不存在则创建,函数返回值fd也为该文件描述符; --------------- --...
  • Linux下Open函数

    万次阅读 2018-10-29 15:55:01
    Open函数用来打开一个文件,建立一个文件描述符到文件路径的映射,建立文件标识。  open函数原型如下所示: #include &amp;lt;fcntl.h&amp;gt; int open(const char *pathname, int flag,...); 参数 ...
  • python版本:2.7 起由:在csv的写入list,提示TypeError: 'newline' is an invalid keyword argument for this ... 原因:python 2.7 open函数中无newline参数。python 3以上版本中会有newline这个参数。 解决...
  • 首先说一下open函数是什么吧,open函数是在linux中定义的用来打开一个文件的函数
  • 通过open()函数理解参数encoding

    万次阅读 多人点赞 2019-02-14 18:41:57
    open函数的三个参数open(file,mode,encoding)参数含义如何判断所要打开的文件的编码格式 open(file,mode,encoding) 主要学习三个参数:file、mode和encoding。 参数含义 file:在指定了文件路径的情况下,可以...
  • linux open()函数参数说明

    万次阅读 2018-04-13 17:04:08
    打开文件、新建文件和关闭文件操作打开文件操作使用系统调用函数open(),该函数的作用是建立一个文件描述符,其他的函数可以通过文件描述符对指定文件进行读取与写入的操作。打开文件的一般形式是:open(文件路径, ...
  • python open函数的使用

    万次阅读 多人点赞 2018-05-26 20:17:45
    ,下面介绍open函数在python操作文件上的常用方法。 file_object=open(file_name,access_mode='r',buffering='-1') access_mode:文件使用模式,在open函数中默认为只读。其他模式还有: w:以写方式打开 a:以追...
  • open函数:头文件 #include /*提供类型pid_t,size_t的定义*/ #include #include 函数原型 int open(const char *path, int oflags,mode_t mode); 函数说明 open建立了一条到文件或设备的访问...
  • open函数详解与close函数详解

    万次阅读 多人点赞 2018-03-20 20:26:27
    open() 头文件:#include&lt;fcntl.h&gt;//在centos6.0中只要此头文件就可以 #include&lt;sys/types.h&gt; #incldue&lt;sys/stat.h&gt; 功能:打开和创建文件(建立一个文件描述符,...
  • python之open函数

    千次阅读 2018-12-24 19:42:31
    1 小序 功能:打开某个文件,创建一个file对象,调用相关方法进行读写. 格式: ...open(name[, mode[, buffering]]) 序号 参数 描述 1 name 2 mode 3 buffering
  • Python的open函数

    千次阅读 2019-06-25 10:17:54
    Python open() 函数 Python 内置函数 Python 内置函数 python open() 函数用于打开一个文件,创建一个 file 对象,相关的方法才可以调用它进行读写。 函数语法 open(name[, mode[, buffering]]) 参数说明 name : ...
  • 文件IO函数详解(1)-open函数

    千次阅读 2018-05-27 19:11:14
    函数作用:在进程中打开文件和创建文件,如果成功则返回一个文件描述符。 函数原型: 引用头文件:#include&lt;fcntl.h&... int open(const char* pathname, int oflag,...);...函数参数: 1....
  • python中的open函数总结

    千次阅读 2018-11-20 17:08:38
    【题目】python中的open函数总结   一、open函数语法 open(name[, mode[, buffering]]) 函数功能: python open() 函数用于打开一个文件,创建一个 file 对象,相关的方法才可以调用它进行读写。 参数说明:...
  • Linux C中的open函数

    万次阅读 多人点赞 2018-03-02 13:27:19
    open函数属于Linux中系统IO,用于“打开”文件,代码打开一个文件意味着获得了这个文件的访问句柄。 int fd = open(参数1,参数2,参数3); int fd = open(const char *pathname,int flags,mode_t mode); 1....
  • open函数后面参数'a','w','r'的区别

    千次阅读 2019-05-22 21:37:20
    open/文件操作 f=open('/tmp/hello','w') #open(路径+文件名,读写模式) #读写模式:r只读,r+读写,w新建(会覆盖原有文件),a追加,b二进制文件.常用模式 如:'rb','wb','r+b'等等 读写模式的类型有: rU...
  • open函数和close函数的使用

    千次阅读 2019-03-18 19:08:58
    学习几个常用的Linux系统I/O函数:open、...(1)open函数的使用 首先,需要包含三个头文件:<sys/types.h> <sys/stat.h> <fcntl.h> 以如下代码为例: [root@localhost src]# ls add.c di...
  • python中open函数的用法

    千次阅读 2019-06-12 21:58:29
    python里面open函数的一个用法 在需要往open的文件里添加文件时需要添加参数”W",才能写入进去 关于python里open函数的总结

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 544,788
精华内容 217,915
关键字:

open函数参数