问题记录(使用printf打印时,不加\n无法立即打印)

#include <stdio.h>
#include <fcntl.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include "stdio.h"

 #define KEY0VALUE 0xF0

int main(int argc,char * argv[])
{
    int i_fd;
    char ach_buf[2] ={0,0};
    unsigned char keyValue[2]={0};

    ach_buf[0] = atoi(argv[1]);

    i_fd = open("/dev/key_node",O_RDWR);
    if(i_fd < 0)
    {
        printf("open error\n");
    }
    else
    {
        printf("open success"); //此处去除\n后,按键之后才会打印
    }

    //write(i_fd,ach_buf,sizeof(ach_buf));
    while (1)
    {
        read(i_fd,keyValue,sizeof(keyValue));
        //printf(" %d",keyValue[0]);
        if((int)keyValue[0] == KEY0VALUE)
        {
            printf("---------------------------------- %d\n",keyValue[0]);
            keyValue[0] = 0;
        }
    }
 
    //printf("buf is %s \n",ach_buf2);
    
    close(i_fd);
    return 0;
}

打印时 printf(“---------------------------------- %d\n”,keyValue[0]);处不加\n则无论按多少次按键都无法打印

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值