getline(cin, var) not working!
getline(cin, var) not working!
由于某些奇怪的原因,getline()函数没有正常工作。我有我的程序循环通过递归(return main();)。下面的代码第一次运行时很正常。
cout << "Enter a phrase: ";
string user;
getline(cin, user);
然而,在调用递归之后,程序跳过允许我输入的步骤。结果是字符串user为空。知道为什么吗?
谢谢。
对main的递归调用在c++中没有很好地定义(在C中有),这可能是也可能不是问题的原因。
调用cin.clear()
在循环之前清除所有标志。
编辑:感谢@Xeo的指出,也应该调用cin.ignore()
来丢弃新的行字符-它可能仍然在缓冲区中…
相关文章:
- GDB - strcmp not working: __strcmp_sse2_unaligned
- QT qScriptConnect is not working
- QDesktopServices::openUrl() not working Qt
- C++ std::set ordering not working with customer class*
- C++ SetWindowText not working
- visual studio 2012 c++ hello world - iostream not working
- getGravity not working?
- Opencv findcontours CV_RETR_EXTERNAL not working
- c++ srand() not working
- std::queue::empty() not working?
- BCB swprintf not working
- 将类型作为指向另一个类的对象的指针的泛型类-NOT WORKING
- LoadLibrary is not working
- gluUnProject not working
- C++ catch bad_alloc not working
- updatelayeredwindow not working
- OpenMP set_num_threads() is not working
- glOrtho not working
- Cuda atomicInc not working
- WinAPI DestroyWindow not working