【发布时间】:2020-02-03 03:06:52
【问题描述】:
我有两个字符串数组,我试图比较它们中的字符串。但是,数组中的一个字符串的第一个字母大写,而另一个字符串则没有。有什么想法吗?
【问题讨论】:
-
向我们展示您的尝试。
-
使用 trasform 为完整的字符串制作大写字母。在比较之前将两个数组字符串都转换为大写。 std::string s("你好"); std::transform(s.begin(), s.end(), s.begin(), [](unsigned char c) -> unsigned char { return std::toupper(c); });
-
您应该进行一些最小的、完整的、可重现的尝试,包括测试输入和结果输出。
-
另外,请查看您可用的 std::string 方法...考虑 a) operator ==(s1, s2)(即 if (s1 == s2) { ..when equal action .. } and b) if(0 == compare(s1, s2)) { .. when equal action.. }
-
“有什么想法吗?” -- 如果两个字符串的第一个字母不相同,则字符串不相等。也许您的要求没有被很好地理解?您是否错误地陈述了您的问题?