【发布时间】:2016-10-25 22:28:05
【问题描述】:
我想验证一个字符是否真的是一个字符。当用户输入一串字母“abc”时,程序会提示用户必须输入单个字符。
我在考虑使用
if(sizeof(userLetter != 1))
{
cout << "Enter only a single letter."
}
问题是因为 userLetter 被初始化为一个字符,它会自动截断剩余的字母并认为用户只输入一个字母。
有没有办法检查用户是否真的只输入了 1 个字母而不将 userLetter 初始化为字符串?
【问题讨论】:
-
C++ 是静态类型的。一个字符就是一个字符。
-
阅读整行,而不仅仅是一个字符。
-
你输入的怎么样?是用 cin 还是 getline 还是别的什么?
-
cin.get(userLetter)
-
你需要读一整行输入,并检查它是否有超过1个字符
标签: c++ iostream formatted-input