一、代码
open()、close()
read()、write()
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
#include <errno.h>
#include <string.h>
//open()、close()
//read()、write()
int main(int argc, char*argv[])
{
//
int fd = open("/dev/tty", O_RDONLY|O_NONBLOCK);
if (fd < 0)
{
perror("open /dev/tty error");
exit(1);
}
char buf[20];
int n;
tryagain:
//
n = read(fd, buf, 10);
if (n < 0)
{
if (errno == EAGAIN)
{
sleep(1);
write(STDOUT_FILENO, "try again\n", strlen("try again\n"));
goto tryagain;
}
perror("read /dev/tty error");
exit(1);
}
//
write(STDOUT_FILENO, buf, n);
//
close(fd);
return 0;
}
二、输出结果