25得票7回答
为什么当输入相等时,strcmp()返回0?

当我像这样调用C字符串比较函数:strcmp("time","time") 它返回0,这意味着两个字符串不相等。 有人能告诉我为什么C实现会这样做吗?如果相等,我认为它应该返回一个非零值。我很想知道我看到这种行为的原因。

7得票6回答
strcmp()但是在A-Z之后,0-9呢?(C/C++)

对于我完全不同意的原因,但是“反可用性的力量”继续尽管有我的反对而颁布命令,我有一个排序程序,它使用基本的strcmp()比较按名称排序。它很好用;很难弄错。然而,在最后一刻,他们决定以数字开头的条目应该出现在以字母开头的条目之后,与ASCII排序相反。他们引用EBCDIC标准,称数字跟在字母...

7得票6回答
在使用strncmp()时,如果在表达式中使用strlen()是否会破坏使用strncmp()而不是strcmp()的目的?

据我理解,strcmp() (没有'n') 一旦在任意一个参数中看到空字符,就会立即停止处理并返回结果。 因此,如果其中一个参数被100%确定为以空字符结尾(例如字符串字面量),那么使用strncmp()(带有'n')并调用strlen()作为第三个参数来限制比较到已知字符串长度,将不会有任何...

15得票4回答
为什么clang不认识strcmp函数?

我有一个基本程序,用于比较两个字符串:#include <string> #include <iostream> using namespace std; int main (int argc, char *argv[]) { if(strcmp (argv[0...

12得票5回答
strcmp无法工作

我知道这可能是一个非常新手的问题(我已经很久没有接触C语言了),但有人可以告诉我为什么这不起作用吗?printf("Enter command: "); bzero(buffer,256); fgets(buffer,255,stdin); if (strcmp(buffer, "exit"...

12得票8回答
strcmp的实现

我尝试实现strcmp: int strCmp(char string1[], char string2[]) { int i = 0, flag = 0; while (flag == 0) { if (string1[i] > string2...

11得票5回答
优化的strcmp实现

这个函数可以在这里找到。它是strcmp的一种实现方式:int strcmp(const char* s1, const char* s2) { while (*s1 && (*s1 == *s2)) s1++, s2++; return *(c...

22得票5回答
C语言中strcmp()函数的返回值是什么?

我正在学习C语言中的strcmp()函数。我知道当两个字符串相等时,strcmp()函数返回0。 但是,当man手册上说当第一个字符串小于第二个字符串时,strcmp()函数返回值小于0,它指的是长度、ASCII值还是其他什么?

17得票3回答
strcmp有什么问题?

在对问题Reading In A String and comparing it C的回答中,有不止一个人反对使用strcmp(),并表示类似以下的话: 我也强烈建议你现在就开始习惯使用strncmp(),以避免今后出现许多问题。 或者(在Why does my string comp...

10得票2回答
strcmp引起的段错误

我正在以下方式中使用strcmp函数 Passing char[] array names Passing pointers to string literals but, the second result in seg fault. even though i have confirm...