专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > C语言

怎么清空输入流

发布时间:2011-06-28 14:38:26 文章来源:www.iduyao.cn 采编人员:星星草
如何清空输入流
C/C++ code
    while (scanf("%f%f",&x,&y))
    {
        scanf("%s",name);
        p = (City *)malloc(sizeof(City));
        if (p == NULL)
        {
            printf("分配内存失败\n");
            exit(1);
        }
        p->cityX = x;
        p->cityY = y;
        strcpy(p->cityName, name);
        r->next = p;
        p->next = NULL;
        r = p;
    }
    fflush(stdin);


当程序输入的不是浮点数的时候,跳出循环,那些数据是否还留着输入流中?
我用fflush(stdin)后,还是不能解决,在我输入其它内容之前,程序就跳过那一段过程了?

------解决方案--------------------
C/C++ code
        if (p == NULL)
        {
            printf("分配内存失败\n");
            exit(-1);//试试-1
        }

------解决方案--------------------
记得以前看到哪里写道 
 fflush(stdin)
并不是很好用。。。。。
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: