验证单个字符是否为字符
Validating if single char is char
我想验证一个字符是否真的是一个字符。当用户输入一串字母时 "abc" 程序会提示用户必须输入一个字符。
我正在考虑使用
if(sizeof(userLetter != 1))
{
cout << "Enter only a single letter."
}
问题是因为 userLetter 被初始化为一个字符,它会自动截断剩余的字母并认为用户只输入了一个字母。
有没有办法检查用户是否真的只输入了 1 个字母而不将 userLetter 初始化为字符串?
如果您读取一个字符,它只会读取一个并将后面的字符保留在缓冲区中。
如果你想获取用户输入的所有内容,直到他按下第一个回车键,你需要得到一行:
string line;
while (getline(cin, line) && (line.length()==0 || line.length()>1) )
cout << "Enter only a single letter..."<<endl;
成功结束后,获取字符串的第一个字符 userLetter = line[0];
我想验证一个字符是否真的是一个字符。当用户输入一串字母时 "abc" 程序会提示用户必须输入一个字符。
我正在考虑使用
if(sizeof(userLetter != 1))
{
cout << "Enter only a single letter."
}
问题是因为 userLetter 被初始化为一个字符,它会自动截断剩余的字母并认为用户只输入了一个字母。
有没有办法检查用户是否真的只输入了 1 个字母而不将 userLetter 初始化为字符串?
如果您读取一个字符,它只会读取一个并将后面的字符保留在缓冲区中。
如果你想获取用户输入的所有内容,直到他按下第一个回车键,你需要得到一行:
string line;
while (getline(cin, line) && (line.length()==0 || line.length()>1) )
cout << "Enter only a single letter..."<<endl;
成功结束后,获取字符串的第一个字符 userLetter = line[0];