设置STDIN_FILENO为非阻塞模式
16lz
2021-01-22
Linux C:
#include <unistd.h>
#include <string.h>
#include <stdio.h>
#include <fcntl.h>
int main(void)
{
char tmp[100];
memset(tmp,0,sizeof(tmp));
char str[] = "welcome to the linux world!";
int len = strlen(str);
printf("len = %d\n", len);
fcntl(STDIN_FILENO, F_SETFL, O_NONBLOCK); // 设置为非阻塞形式
while(1)
{
write(STDIN_FILENO, str, len);
read(STDIN_FILENO, tmp, len);
sleep(2);
printf("%s\n", tmp);
}
}
程序将会每隔2秒输出一句话:welcome to the linux world!
设置为非阻塞语句:fcntl(STDIN_FILENO, F_SETFL, O_NONBLOCK);
更多相关文章
- 我用的mysqlcc,我想看别人执行过哪些语句怎么看?
- sql查询每个学生的最高成绩mysql语句
- 一条SQL语句实现添加不重复记录
- SQL查找条件语句构造类
- 如何利用SQL语句查询数据库中所有表的名称?
- sql语句延时执行或者是指定时间执行
- 减去两个SELECT语句以产生单个结果?
- C#中操作Oracle时的SQL语句参数的用法
- 求助:请大侠帮我把下面的查询语句改写为可以在SQL"作业"中定时执