文件I/O函数的封装 read write等

#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;
}


}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值