概述
#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 %dn", errno, EEXIST);
printf("%sn", 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 bytesn", 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 bytesn", strlen(buf), nbytes);
return 0;
}
//关闭文件IO
int close(int fd)
{
int ret;
ret = close(fd);
if (-1 == ret)
{
perror("close");
return -1;
}
}
最后
以上就是机智苗条为你收集整理的文件I/O函数的封装 read write等的全部内容,希望文章能够帮你解决文件I/O函数的封装 read write等所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复