Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ string::compare确定字母顺序可靠吗?_C++_String - Fatal编程技术网

C++ string::compare确定字母顺序可靠吗?

C++ string::compare确定字母顺序可靠吗?,c++,string,C++,String,简单地说,如果输入总是以相同的大小写(这里是小写),并且字符总是ASCII,那么可以使用string::compare可靠地确定两个字符串的字母顺序吗 因此,使用stringA.compare(stringB)时,如果结果为0,则结果相同;如果结果为负,则stringA按字母顺序排在stringB之前;如果结果为正,则stringA排在?是,只要两个字符串中的所有字符大小写相同,并且两个字符串仅由字母组成,这会奏效的 compare是一个成员函数,因此您可以这样称呼它: stringA.comp

简单地说,如果输入总是以相同的大小写(这里是小写),并且字符总是ASCII,那么可以使用string::compare可靠地确定两个字符串的字母顺序吗


因此,使用
stringA.compare(stringB)
时,如果结果为0,则结果相同;如果结果为负,则stringA按字母顺序排在stringB之前;如果结果为正,则stringA排在?

是,只要两个字符串中的所有字符大小写相同,并且两个字符串仅由字母组成,这会奏效的

compare
是一个成员函数,因此您可以这样称呼它:

stringA.compare(stringB);

根据cplusplus.com上的文件

如果全部为空,则成员函数返回0 比较了小说中的人物 内容比较相等,为负数 如果第一个字符 相比之下,不匹配在 对象,而不是比较字符串中的, 反之为正值 案例

因此,它将按ASCII顺序对字符串进行排序,对于相同大小写的英语字符串(没有变音符号或其他扩展字符),将按字母顺序进行排序。

如果全部为空,则成员函数返回0 比较了小说中的人物 内容比较相等,为负数 如果第一个字符 相比之下,不匹配在 对象,而不是比较字符串中的, 反之为正值 案例

对于字符串对象,一个 字符比较仅取决于 其字符代码(即,其ASCII码 代码),因此结果有一定的局限性 字母顺序或数字顺序 意思


< C++ >代码>字符串是模板类<代码> Basic字符串> <代码>的实例化,默认参数为:<代码> Basic字符串> <代码>。
basic_string
模板中的compare函数将使用
char\u traits::compare
函数确定结果值


对于
std::string
,顺序将是实现(编译器)的默认字符代码的顺序,通常是ASCII顺序。如果你需要一个不同的排序(比如你想把{a,a,y,}等效),你可以用你自己的<代码>字符特性< /Cord>实现实例化一个<代码> Basic字符串> <代码>。提供不同的<代码>比较< /代码>函数指针。

< p>规范的C和C++语言保证了词汇排序,a’< b′< c′…Z’。小写字母也是如此

文本数字的顺序也有保证:“0”<…<”9'.

当使用多种语言时,许多人会创建一个字符数组。将在数组中搜索该字符。不是比较字符,而是比较索引。
I/P.IIrC,撇号和连字符不是直角符号,对吗?它们将按ASCII顺序排序。通常,当按字母顺序排列时,在确定顺序时不考虑标点符号,因此标点符号应从字符串中删除。在任何情况下,撇号和连字符都低于ASCII中的字母范围。+1用于提及变音符号的问题<代码>字符串:比较< /COD>只适用于较低的ASCII(0-127)。正如@ JamesMcNellis所指出的,它只适用于同一种情况的字符串。C++语言标准没有指定执行字符集,因此,语言标准不能保证字母的顺序,因此它依赖于实现。你有这样的例子吗?