c++ - 以空格作为单字符数据类型的输入?
问题描述
我只是想把空间当作一个空的地方,因为我正在编写一个 8 块拼图问题。但是“[空格]”不被接受。
这是示例函数。
void puzzle_8::initial_string_setup()
{
int i=0;
string initial="abcdefghi";
string allowed=" 12345678";
char to_check;
bool check=false;
while(i!=9)
{
cout<<"\n\n\t\t"<<initial[0]<<" | "<<initial[1]<<" | "<<initial[2]<<endl<<"\t\t---+-----+---"<<endl<<"\t\t"<<initial[3]<<" | "<<initial[4]<<" | "<<initial[5]<<endl<<"\t\t---+-----+---"<<endl<<"\t\t"<<initial[6]<<" | "<<initial[7]<<" | "<<initial[8]<<endl;
cout<<"Enter input for place "<<initial[i]<<": ";
cin>>to_check;
check=false;
for(int j=0;j<9;j++)
{
if (to_check==allowed[j])
{
check=true;
break;
}
}
if(check==true)
{
initial[i]=to_check;
i++;
}
else
{
cout<<"\n\nInvalid entry\n\n";
}
}
}
另外,如何阻止用户输入两位数?
编辑:
更改cin>>to_check
为to_check=getchar()
让我将space
其作为输入并解决我的查询。
解决方案
在您的代码中,单个空格不会被识别为“完整”输入cin
,因为它需要通过输入来完成。您需要将其替换为
to_check = getchar();
所以,如果你输入一个空格,它将被保存在你的to_check
变量中
推荐阅读
- json - 为什么 Mongo JSON 查询无法由 runMangoAggregation Processor Nifi 执行?
- c# - VS2019 中的 Azure IoT 解决方案仅适用于系统重启后的首次运行
- postgresql - 在 postgres 12 中枢轴
- c++ - 对齐中的逗号运算符
- java - 在同一索引中的链接列表中合并/添加多个元素的问题(JAVA)
- reactjs - 如何禁用蚂蚁设计时间选择器粘贴时间
- c++ - 使用 C++ 在特定时间打开链接
- reactjs - 功能组件到类组件
- html - 页脚内容看起来不像页脚
- python-3.x - 输入 tkinter 条目小部件时的千位分隔符