使用getline只读取换行符或文本

时间:2013-11-12 12:33:20

标签: c++ newline getline cin

所以我需要做的是从用户那里获取输入,特别是文件名,用户可以选择输入默认为某个文件名。这就是我所拥有的:

cout << "Where should I save the exam (default exam.txt): ";
getline(cin, examfilename);
if (examfilename == "") {
    examfilename = "exam.txt";
}
cout << "Where should I save the key (default key.txt): ";
getline(cin, keyfilename);
if (keyfilename == "") {
    keyfilename = "key.txt";
}

运行时,输出为Where should I save the exam (default exam.txt): Where should I save the key (default key.txt):全部在一行上,末尾有一个闪烁的光标。

我如何阅读文件名,但如果用户按下回车键,也会使用默认值

1 个答案:

答案 0 :(得分:1)

您可以在控制台中手动引入换行符,如下所示:

if (examfilename == "") {
    examfilename = "exam.txt";
    cout << endl;
}