笔记

来源:互联网 发布:php魔术常量 编辑:程序博客网 时间:2024/05/16 06:44

#include <stdio.h>

#include <sys/types.h>

#include <sys/stat.h>

#include <fcntl.h>

#include <stdlib.h>

 

int read_line(int fd,char * buf,int n)

{

int i;

char tmp;

for(i = 0; i < n; i++)

{

read(fd,&tmp,1);

if(tmp == '\n')

{

buf[i] = '\n';

buf[i + 1] = '\0';

return i;

}

else

{

buf[i] = tmp;

}

}

buf[i - 1] = '\0';

return n;

}

 

int main()

{

int fd;

int w_fd,r_fd;

int i;

char read_buf[50];

fd = open("hello.txt",O_RDWR|O_CREAT|O_TRUNC,0644);

if(fd == -1)

{

perror("open");

exit(-1);

}

for(i = 0; i < 3; i++)

{

w_fd = write(fd,"hello\n",6);

// write(fd,"\n",1);

if(w_fd == -1)

{

perror("write");

exit(-1);

}

}

lseek(fd,0,SEEK_SET);

 

for(i = 0; i < 3; i++)

{

// r_fd = read(fd,read_buf,6);

// write(fd,"\n",1);

r_fd = read_line(fd,read_buf,50);

if(r_fd == -1)

{

perror("read");

exit(-1);

}

 

printf("%s",read_buf);

}

close(fd);

 

    return 0;

}

 

 

 

 

 

 

 

0 0