不帶緩存的文件I/O操作 read/write

write.c

#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>

#define MAXSIZE

int main(void)
{
    int fd,i,len,size;
    char *buf="hello,i'm writing to this file!";
    char buf_r[10];
    len = strlen(buf);
    /*創建文件*/
    if((fd=open("/WIN_UBUNTU/sample/write/opentest.c",O_CREAT|O_TRUNC|O_RDWR,0600))<0)
    {
        perror("open:");
        exit(1);
    }
    else
    {
        printf("open file: opentest.c %d\n", fd);
    }

    if((size=write(fd,buf,len))<0)
    {
        perror("write:");
        exit(1);
    }
    else
    {
        printf("write:%s\n",buf);
    }

    lseek(fd,0,SEEK_SET);
    if((size=read(fd,buf_r,10))<0)
    {
        perror("read:");
        exit(1);
    }
    else
    {
        printf("read from file:%s\n",buf_r);
    }

    if(close(fd)<0)
    {
        perror("close:");
        exit(1);
    }
    else
    {
        printf("close file: opentest.c %d\n", fd);
    }
    exit(0);
}

Makefile

obj=write.o
write:$(obj)
    gcc $(obj) -o write
write.o:write.c
    gcc -c write.c

clean:
    rm $(obj) write opentest.c
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章