一、文件IO之 open函数
1.函数原型
int open(const char *pathname,int flags);//直接打开某文件,文件不存在时报错
int open(const char *pathname,int flags,mode_t mode);//当中间参数为创建文件时,需要给文件权限
2.使用命令 man 2 open可查看函数原型以及其所需头文件
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
3.open函数的简单使用
#include<stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include<stdlib.h>
int main(int argc,char *argv[])
{
int fd;
fd=open("a.c",O_CREAT|O_RDWR,0666);//创建a.c的文件,并赋予0666权限
if(fd<0){
printf("open is error\n");
}
printf("fd is %d\n",fd);
return 0;
}
二、文件IO之 close函数
1.函数原型
int close(int fd);
2.使用命令 man 2 close可查看函数原型以及其所需头文件
#include <unistd.h>
3.close函数的简单使用
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdlib.h>
#include <unistd.h>
int main(int argc,char *argv[])
{
int fd;
fd=open("a.c",O_CREAT|O_RDWR,0666);//打开a.c文件,若没有则创建a.c文件
if(fd<0){
printf("open is error\n");
}
printf("fd is %d\n",fd);
close(fd);
return 0;
}
三、文件IO之 read函数
1.函数原型
ssize_t read(int fd,void *buf,size_t count);
2.使用命令 man 2 read可查看函数原型以及其所需头文件
#include <unistd.h>
3.read函数的简单使用
#include <unistd.h>
#include<stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include<stdlib.h>
int main(int argc,char *argv[])
{
int fd;
fd=open("a.c",O_CREAT|O_RDWR,0666);
char buf[32] = {0};
ssize_t ret;
if(fd<0){
printf("open is error\n");
}
printf("fd is %d\n",fd);
ret = read(fd,buf,32);
printf("ret=%ld\n",ret);
printf("buf=%s\n",buf);
close(fd);
return 0;
}
四、文件IO之 write函数
1.函数原型
ssize_t write(int fd, const void *buf, size_t count);
2.使用命令 man 2 write可查看函数原型以及其所需头文件
#include <unistd.h>
3.write函数的简单使用
#include <unistd.h>
#include<stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include<stdlib.h>
int main(int argc,char *argv[])
{
int fd;
fd=open("a.c",O_CREAT|O_RDWR,0666);
if(fd<0){
printf("open is error\n");
}
printf("fd is %d\n",fd);
write(fd,"aaa\n",6);//向a.c中写入aaa
close(fd);
return 0;
}