验证单个字符是否为char

Validating if single char is char

本文关键字:char 是否 字符 单个 验证      更新时间:2023-10-16

我想验证一个字符是否实际上是一个字符。当用户输入一串字母"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];

字符串的第一个字符。