enter code here
int main()
{
std::string input;
std::cin >> input;
while (input != "quit")
{
// do stuff
std::cin >> input; // get another input
}
return EXIT_SUCCESS; // if we get here the input was quit
问题是,它根本不会提示用户输入单词。如果我输入"退出",它就会结束,这样才能正常工作。否则,如果我输入其他内容,然后输入quit,它也会退出。我该怎么做才能纠正这个问题?
通过我的研究,我能够在这里找到一个类似的程序使用案例,但这对我来说似乎有点乏味。我被指示使用isalpha函数,该函数接受单个字符作为参数,并返回一个布尔指示符,指示该字符是否为字母。
答案 0 :(得分:0)
尝试这个小型的说明性程序:
#include <iostream>
#include <cstdlib>
int main(void)
{
std::cout << "This is a prompt, enter some text:\n";
std::string the_text;
std::getline(std::cout, the_text); // Input the text.
std::cout << "\n"
<< "The text you entered:\n";
std::cout << the_text;
std::cout << "\n";
// Pause the program, if necessary.
std::cout << "\n\nPaused. Press Enter to continue...\n";
std::cin.ignore(10000000, '\n');
// Return status to the Operating System
return EXIT_SUCCESS;
}
如您所见,在输入之前输出指令短语称为提示用户。
编辑1:在while
循环中提示
在您的情况下,您需要在输入之前提示用户:
while (input != "quit")
{
// Do stuff
std::cout << "Enter text or \"quit\" to quit: ";
std::cout.flush(); // Flush buffers to get the text on the screen.
std::cin >> input;
}