当前位置:  技术问答>linux和unix

linux 和 windows 的 缓存不一样 ?哪位高手帮我解释一下下面的问题,谢谢。

    来源: 互联网  发布时间:2017-02-07

    本文导语:  源程序 #include  int main() { int ch; while (1) { printf("input n"); fflush(stdin); scanf("%c",&ch); printf("ch = %cn",ch); } return 0; } 在windows的vc6.0中运行正常:运行结果为 input  a ch = a input  但是在linux中(我输入一个字...

源程序
#include 

int main()
{
int ch;
while (1)
{
printf("input n");
fflush(stdin);
scanf("%c",&ch);
printf("ch = %cn",ch);
}
return 0;
}

在windows的vc6.0中运行正常:运行结果为
input 
a
ch = a
input 


但是在linux中(我输入一个字符会输出两个来,第二个为空)
[root@heiying fflush]# ./a.out 
input 
a
ch = a
input 
ch = 

input 


请问这是什么原因,哪位帮我解释解释?

|
fflush(stdin)这种用法并不是C标准规定的,C中这种特性是未定义的。只不过VC等实现了这种特性,属于一种扩展。
GCC里要清除缓冲区,请使用:
while ( (c = getchar()) != 'n' && c != EOF )
    ;

|
fflush(stdin)这个方法在GCC下不可用。(在VC6.0下可以)
你可以在scanf之后,再加一个getchar()

第二个输出的字符应该是回车

|
参考 scanf_百度百科

参考一下最后的“补充”部分

    
 
 

您可能感兴趣的文章:

  • Linux/Centos/Ubuntu清除系统缓存释放内存命令介绍
  • linux下如何清空串口的输入输出缓存
  • linux 能否清空文件缓存?
  • 请问linux复制文件到u盘是复制到硬盘缓存再复制去u盘的吗?
  • 请大家提供一些资料和指点迷津:关于linux ns网络仿真系统下的web缓存替换算法的资料,,谢谢!
  • linux 缓存
  • 关于linux 共享内存,缓存的问题
  • 请教Linux路由缓存问题
  • 在linux下的串口编程中,如何判断串口的缓存是否为空,或者有数?请高手指教!
  • LINUX下面的WEB Service如果编写?是用.NET写吗?WINDOW下面的web service能在LINUX下面用吗?
  • 使用c gtk2 在linux 下,如何实现下面的问题,找了很久,没有这方面的资料
  • linux下面怎么用其它的文件下面的函数呀
  • linux下面的什么浏览器可以支持框架??许多网页没法正常观看!!!
  • 请教:linux下如何找到windows xp下面的文件
  • 怎样将linux下面的文件导入到windows下面?
  • 我以前是做windows下面的开发的,现在想转向Linux或者Unix开发
  • 关于linux下面的sock5到http的转换工具!
  • linux下面的Gftp有人用过吗?
  • 求助:下面的警告怎么解决?——关于Linux的Session
  • 谁有linux进程管理方面的资料呀,麻烦传一个
  • linux下面的开发工具
  • Linux下面的"匿名管道",是否对应着某种实体?
  • linux下如何看到2000下面的分区
  • 我打算转行到linux下面的软件开发,要准备哪些东西?
  • Linux下面的程序可以在Unix下运行么?一个硬件平台的
  • 请教linux下面的--help功能如何实现???
  • arm S3c2410 上面的 linux 在哪里下载啊 ???
  • 装linux碰到1024柱面的限制怎么办
  • 有关linux这方面的应用和发展方向有哪位高手可以指点我一下!!!
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • linux中/dev下都是些什么文件啊?大侠们谁可以帮我解释一下?
  • linux 解释
  • 哪位高手可以解释下Linux的消息机制吗?谢谢
  • 在linux下sed 怎么使用请大虾给点纤悉的解释
  • 由谁在Linux下用java顺利解释过.class文件?
  • 哪位高人有Linux/Unix下的HTML解释器?请共享一下。急用。3X。
  • linux下载shell解释器问题
  • 请大家解释一下Linux的各种启动模式。
  • 请帮我解释一下linux下"updatedb"这个命令的含义,谢谢:-)
  • 大虾解释一下linux内核中的页着色。
  • 解释一下Linux下的SHELL编程,急!
  • linux10+apache+tomcat5.0整合详细解释一下
  • 这条Linux命令如何解释
  • linux修改目录和文件权限的简单命令解释
  • 哪位前辈给解释下linux下虚拟内存和物理内存的关系!
  • 谁有linux内核解释方面的书籍?
  • 求linux的一些命令解释
  • 各位高手,谁能解释一下在Linux下的.la文件是怎么样编释的?以及怎么样才使用?
  • 学习linux下编程时,一些概念问题,请帮助解释,谢谢
  • 请高手指教,给我解释一下LINUX的好处呗????????
  • linux c/c++ IP字符串转换成可比较大小的数字
  • 在win分区上安装linux和独立分区安装linux有什么区别?可以同时安装吗?(两个linux系统)
  • linux哪个版本好?linux操作系统版本详细介绍及选择方案推荐
  • 在虚拟机上安装的linux上,能像真的linux系统一样开发linux程序么?
  • secureCRT下Linux终端汉字乱码解决方法
  • 我重装window后,把linux的引导区覆盖了,进不了linux怎么办?急啊,望热心的人帮助 (现在有linux的盘)
  • Linux c字符串中不可打印字符转换成16进制
  • 安装vmware软件,不用再安装linux系统,就可以模拟linux系统了,然后可以在其上学习一下LINUX下的基本操作 了?
  • Linux常用命令介绍:更改所属用户群组或档案属性
  • 请大家解释一下Linux的各种启动模式。 iis7站长之家
  • linux命令大全详细分类介绍及常用linux命令文档手册下载


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3