简单地说,如果输入总是在相同的情况下(这里是小写),并且如果字符总是ASCII,可以使用string :: compare来可靠地确定两个字符串的字母顺序吗?
因此,stringA.compare(stringB)
如果结果是0,它们是相同的,如果它是负数,stringA按字母顺序排在stringB之前,如果是正数,则stringA在后面?
根据cplusplus.com的文档,
如果比较内容中的所有字符比较相等,则成员函数返回0;如果不匹配的第一个字符在对象中比在比较字符串中比较少则为负值,在相反情况下为正值.
因此,它将按ASCII顺序对字符串进行排序,这对于相同案例的英语字符串(没有变音符号或其他扩展字符)将按字母顺序排列.