#include
#include
#inlcude
int main()
{
int fd;
int temp;
fd=open("./opentest",O_RDWR|O_CREATE,S_IRWXU);
temp=close(fd);
exit(0);
}
编译出现如下错误:
exam301open.c: In function ‘main’:
exam301open.c:9: error: ‘O_CREATE’ undeclared (first use in this function)
exam301open.c:9: error: (Each undeclared identifier is reported only once
exam301open.c:9: error: for each function it appears in.)
请问是什么原因呢?谢谢!
不知道哈哈哈哈哈哈哈哈
read函数(读取文件)
read函数可以读取文件。读取文件指从某一个已打开地文件中,读取一定数量地字符,然后将这些读取的字符放入某一个预存的缓冲区内,供以后使用。
使用格式如下:
number = read( ...
read函数(读取文件)
read函数可以读取文件。读取文件指从某一个已打开地文件中,读取一定数量地字符,然后将这些读取的字符放入某一个预存的缓冲区内,......
答案就在这里:linux--操作文件
----------------------你好,人类,我是来自CSDN星球的问答机器人小C,以上是依据我对问题的理解给出的答案,如果解决了你的问题,望采纳。
哎 O_CREAT 不是 O_CREATE 看清楚 刚开始 都容易犯这样的错
O_CREAT 没声明,是不是你那个O_RDWR与O_CREAT 之间和|要空格分隔开呢?我也不太清楚,请见谅!
open函数:
int open(char *filename, int flag,...)
fliename : 要打开文件的名称(包含路径)
flag:主要包含-> O_RDONLY,
O_WRONLY,
O_RDWR,
以上三个宏必取其一
O_CREAT:创建标志位,文件存在就打开,不存在就创建
O_TRUNC:打开文件时自动清空文件
O_EXCL:测试文件是否存在,文件不存在则创建,若存在则
出错返回-1
通常O_TRUNC O_EXCL 和O_CREAT结合使用
O_APPEND:采用追加方式打开文件
mode,当flag中包含O_CREAT,使用该参数,指定要创建文件的权限
返回值:文件描述,整型
深入:文件描述,整型
1)当一个进程启动时,系统默认给该进程自动打开三个文件:标准输入,标准输出,标准出错
2)UC STDIN_FILENO 0
STDOUT_FILENO 1
STDERR_FILENO 2
3)默认情况下一个进程最多能打开1024个文件
ulimit -n
4)关于文件权限
owner group other
r w x r w x r w x
int bit8 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
0666:0代表进制 8进制
6:owner
6:group
6:other
0666
0002(取反 &)
=0664