验证单个字符是否为char
Validating if single char is char
我想验证一个字符是否实际上是一个字符。当用户输入一串字母"abc"时,程序会提示用户必须输入一个字符。
我正在考虑使用
if(sizeof(userLetter != 1))
{
cout << "Enter only a single letter."
}
问题是由于userLetter被初始化为一个字符,它会自动截断剩余的字母,并认为用户只输入一个字母。
是否有一种方法来检查用户是否真的只输入1个字母而不初始化userLetter作为字符串?
如果读取一个字符,它将只读取一个字符,并将后面的字符保留在缓冲区中。
如果您想获取用户在按第一个enter键之前输入的所有内容,您需要得到一行:
string line;
while (getline(cin, line) && (line.length()==0 || line.length()>1) )
cout << "Enter only a single letter..."<<endl;
当此操作成功结束时,获取userLetter = line[0];
相关文章:
- 如果变量名称不跟在 char* 后面,const char* 是否有效?
- 是否假定reinterpret_cast<char*>(myTypePtr)指向数组?
- 是否可以在C++中获取 CHAR 的有效十六进制地址?
- 如何更好地检查两个 char 变量是否在一组值中?
- 以这种方式初始化的 char 数组是否会自动添加空终止符?
- 如果我在相应 char 数组的声明中为其提供额外的元素,是否会自动设置 NULL?
- 知道模板参数在编译时是否为 const char*?
- 从 std::string 到 std::array<char,size> 的 memcopy 额外数据是否是一种未定义的行为?
- 从内部使用静态 std::string 的函数返回 const char * 是否安全?
- C++函数来检查 char 是否是大写字母,并且不计算给定字符串中的大写字母
- 忽略内存消耗,使用“int”或“char”是否有区别
- 模板<类型名 T=char>是否正确?
- 如何检查const char*是否以特定字符串开头?(C++)
- 如何检查char*是否指向有效的对象
- 如何验证两个char *是否在Google Mock中相等?
- "new char[]"是否需要手动释放资源?
- 如何检查char*p是否到达C字符串的末尾
- 正在检查char是否为空
- 对于通用数据块,使用void*优于uint8_t*或char*是否有任何优势
- 检查Char是否在范围内