我想检查一个字符串是否包含除0-9或A-Z以外的任何字符,如果是,请停止程序。这是我所做的:扫描字符串的ASCII值
string number_in;
for (int i = 0; number_in[i] == '\0'; i++)
{
if ((number_in[i] < 48) || ((number_in[i] > 57) && (number_in[i] < 65)) || (number_in[i] > 90))
{
cout << "\nInput number contains incorrect characters!\n";
getchar;
return 0;
}
}
但无论我输入哪个字符串,它总是跳过for循环。为什么?
更改您的号码:'(number_in [i] <'0')。改用字符常量。请相信编译器将它们转换为正确的ASCII数值。 – 2014-11-21 20:52:25
您需要将输入数据更改为所有'\ 0',因此*循环会继续*,因为您告诉编译器在* number [i]等于'\ 0'时使循环*继续。 – 2014-11-21 20:54:28