逛奔的蜗牛

我不聪明,但我会很努力

   ::  :: 新随笔 ::  ::  :: 管理 ::
清空输入缓冲区:
fflush(stdin);
std::cin.sync();

清空输出缓冲区:
fflush(stdout);
std::cout.flush();
endl也有清空输出缓冲区的功能.

 int main(int argc, char *argv[]) {
    std::string str1, str2;
   
    std::cin 
>> str1;
    std::cin.sync();
    std::cin 
>> str2;
   
    std::cout 
<< str1 << std::endl << str2 << std::endl;
    
//fflush(stdin);
   
    
return EXIT_SUCCESS;
}

int main(int argc, char *argv[]) {
    
int v = 0;

    
while (std::cin >> v) {
        std::cout 
<< v << std::endl;
    }

    
// The order clear() and sync() is very important.
    
// Clear the input stream's state
    
// and then clear the input stream's content
    
// to input new string.
    std::cin.clear();
    std::cin.sync();

    std::string str;
    std::cin 
>> str;
    std::cout 
<< str << std::endl;

    std::cout 
<< v << std::endl;

    
return EXIT_SUCCESS;
}

posted on 2008-04-12 03:30 逛奔的蜗牛 阅读(4666) 评论(2)  编辑 收藏 引用 所属分类: C/C++

评论

# re: C, C++清空缓冲区 2008-06-10 16:21 Hi
Thank you!!

学到东西了,但我对其中的原理不是很懂^_^  回复  更多评论
  

# re: C/C++: 清空缓冲区[未登录] 2012-03-11 11:09 fred
thanks
  回复  更多评论
  


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理