В следующей программе
int main()
{
int fd;
char buf[8]={};
remove("file.txt");
fd = creat("file.txt",0666);
write(fd,"asdf",5);
perror("write");
lseek(fd,0,SEEK_SET);
perror("lseek");
read(fd,buf,5);
perror("read");
printf("%s\n",buf);
return 0;
}
Мой ожидаемый результат -
write : Success
lseek : Success
Read : Success
asdf
Но это показывает
wriet : Success
lseek : Success
Read : Bad file descriptor
Кто-нибудь может сказать мне причину? Я вижу, что строка "asdf"
, если она успешно записана в file.txt