今天学习的内容比较简单,是文件的创建及打开
今天的学习来源于 Linux可编程老陈
--------------------------------------------------------------------------------------------------------------
打开及创建文件
运用c文件创建文件,我们需要先使用终端查看 打开文件
man 2 open
运用这个命令即可查看
可以看到,要执行打开文件,则需要添加头文件:
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
那么我们就可以开始编写
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
int main()
{
int fd;
fd = open("./file1",O_RDWR); //打开file1文件
if(fd == -1)
{
printf("open file1 failed\n"); //fd=-1 即为打不开file1
fd = open("./file1",O_RDWR|O_CREAT,0600); //创建file1
if(fd > 0){
printf("create file1 success\n");
}
}
printf("fd = %d\n",fd);
return 0;
}
这边注释一下 0600->仅拥有者具有文件的读取和写入权限
在代码段中,我定义一个fd来接收open的返回值当程序有成功打开,返回一个非负整数
当file1没有打开则打印为-1(这里是因为没有file1,所以无法打开),接着因为这里没有file1于是创建file1,以可读可写权限创建(0600)、
我们在终端运行一下看看:
这是有file1存在的时候,fd=3
我们删除file1,并再次运行a.out试试
可以看到打开file1失败,系统创建file1成功,再打开file1成功,输出fd=3!
完成!明天学习如何写入文件!