<分区>
我正在研究一个验证 if 循环,它在开始和结束时检查管道并确保有 32 个有效字符(有效字符是 : 和 |)
我想知道为什么我的程序没有正确读取 32 个字符输入的 if 语句。这是我目前所拥有的。
void checkitout(string validate)
{
string check;
check = validate;
if ((check.length() == 31) &&
(check.substr(0,1) == "|") &&
(check.substr(31,1) == "|"))
{
cout << "is this running?";
for (int i = 0; i < 31; i++)
{
cout << "for loop running";
if (!(check.substr(i, 1) == ":") || !(check.substr(i, 1) == "|"))
{
cout << "Please enter acceptable barcode.";
return;
}
}
}
else
{
cout << "else Please enter acceptable barcode";
}
}
我是新手,但我认为我走在正确的轨道上。 cout 将测试循环是否正常工作。它直接进入 else 状态。这是一个示例输入
||:|:::|:|:||:::::||:|::|:::|||
一如既往,我们非常感谢任何关于如何更好地做到这一点的想法。