我正在尝试编写一个简单的程序来从文件中读取并在终端中打印它。但是程序在打开文件后挂起。如果我删除阅读部分,它工作得很好。我不知道出了什么问题。有人可以帮忙吗?请!
#include <fcntl.h>
#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>
int main(void)
{
int fd,bytes;
char buffer[10];
char path[ ] = "file";
if(fd = open(path, O_RDONLY) < 0) {
perror("open");
exit(EXIT_FAILURE);
} else {
printf("opened %s\n", path);
}
do {
bytes = read(fd,buffer,10);
printf("%d", bytes);
} while( bytes > 0);
if(close(fd) < 0) {
perror("close");exit(EXIT_FAILURE);
} else{
printf("closed %s\n", path);
}
exit(EXIT_SUCCESS);
}