C++ 为什么getline在循环中使用时忽略输入的第一个字符? do { 系统(“cls”); cout
您可以使用以下命令。在C++ 为什么getline在循环中使用时忽略输入的第一个字符? do { 系统(“cls”); cout,c++,C++,您可以使用以下命令。在c=getche();行之后使用cin.ignore();: charc; 做 { 系统(“cls”); cout您可以使用以下命令。在c=getche();行之后使用cin.ignore();: charc; 做 { 系统(“cls”); 你知道标题中你的问题的答案吗 char c; do { system("cls"); cout<<"Enter Item Name:"<<endl; cin.get
c=getche();
行之后使用cin.ignore();
:
charc;
做
{
系统(“cls”);
cout您可以使用以下命令。在c=getche();
行之后使用cin.ignore();
:
charc;
做
{
系统(“cls”);
你知道标题中你的问题的答案吗
char c;
do
{
system("cls");
cout<<"Enter Item Name:"<<endl;
cin.getline(item_name,size);
cout<<item_name<<endl;
cout<<"Enter Item Price:"<<endl;
cin>>item_price;
cout<<" Do You Want To Add More Item..?\nPress Y/N."<<endl;
c=getche();
cin.ignore();
}while(c=='y'||c=='Y');
从cin
读取下一个字符并将其丢弃
我认为,你正在努力解决的真正问题是:如何终止循环
这很简单。不要只比较一个字符。比较整行
cin.ignore();
do
{
系统(“cls”);
你知道标题中你的问题的答案吗
char c;
do
{
system("cls");
cout<<"Enter Item Name:"<<endl;
cin.getline(item_name,size);
cout<<item_name<<endl;
cout<<"Enter Item Price:"<<endl;
cin>>item_price;
cout<<" Do You Want To Add More Item..?\nPress Y/N."<<endl;
c=getche();
cin.ignore();
}while(c=='y'||c=='Y');
从cin
读取下一个字符并将其丢弃
我认为,你正在努力解决的真正问题是:如何终止循环
这很简单。不要只比较一个字符。比较整行
cin.ignore();
do
{
系统(“cls”);
cout什么是getche
?@iBuggetche
是Windows平台特有的读取单个字符的功能(无需按Enter
键)和回显。它在conio.h
头文件中声明。什么是getche
?@iBuggetche
是Windows平台特有的函数,用于读取单个字符(无需按Enter
键)并回显。它在conio.h
头文件中声明。