我可以使用输入作为输入吗?

问题描述:

我想让用户输入一个字符串或者只是敲回车,在这种情况下,我会使用默认字符串。我可以使用输入作为输入吗?

cout << "Where should I save the exam (default (./)exam.txt): " ; 
cin >> exam_filename; 

但现在你可以输入一个字符串,它工作正常,但如果你命中进入它只是持续等待用户输入的东西。有什么建议么??

好了,所以当我这样做:现在

string exam_filename; 
getline(cin, exam_filename); 
if (exam_filename.empty()) 
    // set to default string 

它始终将字符串默认字符串。它从来没有给我一个机会来自动输入它在程序的下一部分中移动的任何内容。

你真的想读一行。只要做到这一点:

string exam_filename; 
getline(cin, exam_filename); 
if (exam_filename.empty()) 
    // set to default string 
+0

当我放入代码,虽然它只是跳过让用户输入。就像它只是移动到程序的下一部分,并将文件名设置为默认字符串而不管它是什么? – user1852078 2013-03-27 19:10:47

+0

@ user1852078,在SO上搜索“[C++] getline跳过”。有*吨*命中。 – chris 2013-03-27 19:40:11