您现在的位置: 爱51代码网 >> 范文 >> 文章正文
linux如何判断标准输入缓冲区是否有数据

while (TRUE)
{
char cmdbuf[4];
fgets(cmdbuf,4,stdin);
               //这里输入了许多数据,大于4,然后回车。
               //我想判断标准输入缓冲区是否有数据?如果有我就循环调用getchar()清空缓冲区数据。
               // int c;
               //while((c = getchar()) != '\n' && c != EOF);

              //但是如果没有数据的话,getchar这里会等待输入。
               //问题就是怎么判断标准输入缓冲区是否有数据?
printf("%s\n",cmdbuf);
}

Portably, you can get the next character in the input stream with getchar() and then push it back with ungetc(), which results in a state as if the character wasn't removed from the stream.

or you could use setvbuf on stdin with your own buffer, so you can peek whenever you want

  • 上一篇文章:

  • 下一篇文章: 没有了
  • 最新文章 热点文章 相关文章
    maven如何加自定义的包
    redhat 2.6 (santigo 5.6) vsftp
    shell如何实现自动填写操作执行下
    linux shell 文件配置sh:color:
    shell script语法一定要加path吗
    SecureCRT如何访问虚拟机vmWare中
    C#如何读取WINDOWS的放大系数
    cximge的图如何存入数据库并提取
    DBGRID控件显示查询结果文本类型
    TChart控件如何把表中右边的系列
    maven如何加自定义的包
    redhat 2.6 (santigo 5.6) vsftp
    shell如何实现自动填写操作执行下
    linux shell 文件配置sh:color:
    shell script语法一定要加path吗
    SecureCRT如何访问虚拟机vmWare中
    C#如何读取WINDOWS的放大系数
    cximge的图如何存入数据库并提取
    DBGRID控件显示查询结果文本类型
    TChart控件如何把表中右边的系列
    vi编译一个十六进制为0x80的
    sed批量替换文件中的多处内容
    为什么不能直接在konsole中按
    awk循环读取文件行内容,如果
    将文件插入到文件的shell代码
    pcre-config for libpcre no
    makefile每运行一个命令都会
    mkdir()每天建一个以日期位名
    扩展lvm时分配空间为0
    error: implicit declaratio
     



    设为首页 | 加入收藏 | 网站地图 | 友情链接 |