gpt4 book ai didi

c++ - 只接受字母

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:26:39 24 4
gpt4 key购买 nike

这应该只接受字母,但还不正确:

#include <iostream>
#include <string>
#include <sstream>
using namespace std;

int main()
{
std::string line;
double d;

while (std::getline(std::cin, line))
{
std::stringstream ss(line);
if (ss >> d == false && line != "") //false because can convert to double
{
std::cout << "its characters!" << std::endl;
break;
}
std::cout << "Error!" << std::endl;
}
return 0;
}



这是输出:

567
Error!

Error!
678fgh
Error!
567fgh678
Error!
fhg687
its characters!
Press any key to continue . . .

fhg687 应该因为字符串中的数字而输出错误。

接受的输出应该只包含字母,例如ghggjh

最佳答案

你最好使用 std::all_of在字符串上,使用适当的谓词。在您的情况下,该谓词将是 std::isalpha . (需要 header <algorithm><cctype>)

if (std::all_of(begin(line), end(line), std::isalpha))
{
std::cout << "its characters!" << std::endl;
break;
}
std::cout << "Error!" << std::endl;

关于c++ - 只接受字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13779321/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com