gpt4 book ai didi

c++ - 将字符串转换为 char 并检查字母

转载 作者:太空狗 更新时间:2023-10-29 23:48:49 26 4
gpt4 key购买 nike

我的一段代码有一些问题,我认为当我尝试使用输入的输入对其进行测试时会导致错误,导致 Visual Studios 卡住并显示一条错误消息,显示 0x74A1DDC2 处未处理的异常。这是我写的代码:

 bool isValidRomanNumber(string test) {
//Validates that a roman number was entered

char char_array[10];
strcpy(char_array, test.c_str());

for (int i = 0; i < 10; i++) {
if ('I' == char_array[i] || 'V' == char_array[i] || 'X' == char_array[i]|| 'L' == char_array[i] || 'C'== char_array[i] || 'D' == char_array[i] || 'M' == char_array[i]) {
cout << test << endl;
return true;
}
else {
return false;
}
}
}

我知道是这个函数导致了错误,因为我测试过的程序的所有其他部分都运行良好。我是 C++ 的新手,所以我不知道我做错了什么,所以非常欢迎提出建议。

最佳答案

简单检查是否找不到无效数字:

bool romanDigitsOnly(const std::string& number) {
return number.find_first_not_of("IVXLCDM") == std::string::npos;
}

find_first_not_of如果在字符串中找不到任何指定字符,则返回 npos。请注意,这只会检查有效数字,而不是 valid roman numbers。 .

关于c++ - 将字符串转换为 char 并检查字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52132137/

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