文件的使用
- 文件的写入与创建
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);
int creat(const char *pathname, mode_t mode);
打开一个文件可以用以上的PAI来使用
每个文件打开后都会返回文件描述符
pathname:要打开的文件名(含路径)
flags:打开的方式
O_RDONLY:只读打开
O_WRONLY:只写打开
O_RDWR:可读可写
open:
当我们创建或打开一个文件时,成功会返回一个描述符,整数时为成功,当为负数时失败.
int main()
{
int fd;
fd = open("./file",O_RDWR);
printf("fd = %d\n",fd);
return 0;
}
结果如下:
当我把目录下的file1文件删除的时候:
当我们想创建时可以调用creat,如果文件不存在,那我们就创建他
caeat:
int open(const char *pathname, int flags);
int open(const char *pathname, int flags, mode_t mode); mode_t mode为权限
int creat(const char *pathname, mode_t mode);
创建一个文件可以用以上的PAI来使用
/*
int open(const char *pathname, int flags, mode_t mode);
*/
int main()
{
int fd;
fd = open("./file1",O_RDWR);
printf("fd = %d\n",fd);//失败返回-1
if(fd == -1){
/*
int open(const char *pathname, int flags, mode_t mode);
*/
fd = open("./file1",O_RDWR|O_CREAT,0600);//当打开文件不存在时顺便创建,0600:r读是4,w写是2,4+2=6 给文件所有者
printf("creat file1 successful!\n fd = %d\n",fd);
return fd;
}if(fd != -1){
printf("fd = %d\n",fd);
}
return 0;
}
int main()
{
int fd;
fd =