我使用getline(cin,varname)函数输入一个字符串,其中包含已实现的空格,但是当我运行该程序时,它不接受用户的任何输入,而是移到下一行。
cout<<"Enter title : " ; getline(cin,title) ;发布于 2015-09-04 09:02:50
下面是如何使用std::getline
#include <iostream>
#include <string>
int main() {
std::string title;
std::cout << "Please enter title: " << std::cout;
std::getline(std::cin, title);
std::cout << "\n" << title << " is a good title!\n";
return 0;
}发布于 2015-09-04 09:19:19
问题是,由于您没有endl,缓冲区还没有刷新,所以输入变成了您打印的输出。在getline之后添加endl
#include <iostream>
#include <string>
int main() {
std::string title;
std::cout << "Please enter title: "<<std::endl;
std::getline(std::cin, title);
return 0;
}#include <iostream>
#include <string>
int main() {
std::string title;
std::cout << "Please enter title: "<<std::flush;
std::getline(std::cin, title);
return 0;
}https://stackoverflow.com/questions/32387557
复制相似问题