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

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

12得票4回答
选项 Strict On 禁止晚期绑定。

有人能帮我修复这个错误吗? Option Strict On 禁止晚期绑定。 这是导致错误的代码:Dim SF6StdData As BindingSource = New BindingSource() ' ... If StrComp(SF6StdData.Current("...

21得票5回答
如果两个相似的字符串长度不同,strcmp会返回什么?

我了解如果您在strcmp(这是一个C问题)中有“cat”(string1)和“dog”(string2),那么strcmp的返回值将小于0(因为“cat”在字典顺序上小于“dog”)。但是,如果发生以下情况,我不确定strcmp会发生什么:string1: 'dog' string2: 'd...

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

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

34得票4回答
strcasecmp算法存在缺陷吗?

我正在尝试在C中重新实现strcasecmp函数,并注意到比较过程中似乎存在不一致。 从man strcmp中可以得知: strcmp()函数比较两个字符串s1和s2。 它不考虑区域设置(对于区域设置感知比较,请参见strcoll(3))。 如果找到s1小于,等于或大于s2,则返...

15得票4回答
高效的字符串排序算法

通过比较(例如标准的QuickSort + strcmp函数)对字符串进行排序可能会有些慢,特别是对于共享公共前缀的长字符串(比较函数需要O(s)时间,其中s是字符串长度),因此标准解决方案的复杂度为O(s * nlog n)。是否有已知的更快算法?

8得票4回答
C - 将字符串字面量与字符数组进行比较

我是一名新手,对于如何通过字符数组使用字符串仍然有些困惑。 在我的C程序中,我正在接受用户的命令: char command[20]; scanf("%s",command); 当然,之后我想找出他们输入的命令(类似于“if (command == "hello"),则执行某些操作”)...

31得票8回答
空字符串的strcmp函数

我正在审查一些代码,看到有人进行了以下操作:if (0 == strcmp(foo,"")) 我很好奇,因为我认为这样做会更快:if (foo[0] == '\0') 这样做是否正确,或者说strcmp已经被优化到让它们变得相同了。(我意识到即使存在一些差异,它们也很小,但我想通过使用我的方法...

9得票2回答
C语言中strcmp函数对于相等的字符串未返回0

我已经尝试过广泛搜索解决此问题,但只能找到其中一个字符串缺少换行符或空字节的帖子。我相当确定这里不是这种情况。 我正在使用以下函数将一个单词与包含每行一个单词的单词列表文件(函数中的字典)进行比较。这是代码: int isWord(char * word,char * dictionary)...

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

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