#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdio.h>
#include <errno.h>
/*
* 创建一个文件
* (1)创建成功
* (2)创建失败 -- 错误类型显示
*/
#define PATHNAME "/hello.c"
int openIO()
{
int fd;
fd = open(PATHNAME, O_RDWR | O_EXCL, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH);
if (-1 == fd)
{
perror("open");
printf("%d %d\n", errno, EEXIST);
printf("%s\n", strerror(errno));
return -1;
}
return 0;
}
/*
* 从文件中读取内容,并显示
*/
int readIO(int fd)
{
char data[1024] = {0};
ssize_t ret;
ret = read(fd, (char *)data, sizeof(data));
if (-1 == ret)
{
perror("read");
return -1;
}
printf("Want to read %d bytes, Actually read %d bytes\n", sizeof(data), ret);
printf("%s", data);
return 0;
}
/*
* 向文件中写入内容
*/
int writeIO(int fd,char *buf)
{
ssize_t nbytes;
int ret;
nbytes = write(fd, buf, strlen(buf));
if (-1 == nbytes)
{
perror("write");
return -1;
}
printf("I want to write %d bytes, actually write %d bytes\n", strlen(buf), nbytes);
return 0;
}
//关闭文件IO
int close(int fd)
{
int ret;
ret = close(fd);
if (-1 == ret)
{
perror("close");
return -1;
}
}
#include <sys/stat.h>
#include <fcntl.h>
#include <stdio.h>
#include <errno.h>
/*
* 创建一个文件
* (1)创建成功
* (2)创建失败 -- 错误类型显示
*/
#define PATHNAME "/hello.c"
int openIO()
{
int fd;
fd = open(PATHNAME, O_RDWR | O_EXCL, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH);
if (-1 == fd)
{
perror("open");
printf("%d %d\n", errno, EEXIST);
printf("%s\n", strerror(errno));
return -1;
}
return 0;
}
/*
* 从文件中读取内容,并显示
*/
int readIO(int fd)
{
char data[1024] = {0};
ssize_t ret;
ret = read(fd, (char *)data, sizeof(data));
if (-1 == ret)
{
perror("read");
return -1;
}
printf("Want to read %d bytes, Actually read %d bytes\n", sizeof(data), ret);
printf("%s", data);
return 0;
}
/*
* 向文件中写入内容
*/
int writeIO(int fd,char *buf)
{
ssize_t nbytes;
int ret;
nbytes = write(fd, buf, strlen(buf));
if (-1 == nbytes)
{
perror("write");
return -1;
}
printf("I want to write %d bytes, actually write %d bytes\n", strlen(buf), nbytes);
return 0;
}
//关闭文件IO
int close(int fd)
{
int ret;
ret = close(fd);
if (-1 == ret)
{
perror("close");
return -1;
}
}