gpt4 book ai didi

在c中转换为小写后比较字符串

转载 作者:太空宇宙 更新时间:2023-11-04 05:41:24 25 4
gpt4 key购买 nike

我需要比较两个字符串是否相等(不区分大小写),但我的实现在编译时返回了很多警告。

我的实现:

//The word array will contain any number of strings of varying lengths
//string is the word to compare to
char **wordArray, char*string;

int i, sizeOfArray = 10

for(i = 0; i < 10; i++)
{
//Return 1 if the string is seen in the array
if(strcmp(tolower(wordArray[i]), tolower(string)) == 0)
return 1;
}

return 0;

我收到这些警告:

warning: passing argument 1 of ‘tolower’ makes integer from pointer without a cast [enabled by default]

note: expected ‘int’ but argument is of type ‘char *’

initialization makes pointer from integer without a cast [enabled by default]

我怎样才能实现这个

最佳答案

tolower 不会将整个字符串变为小写,只是将单个字符变为小写。您需要将其置于循环中才能执行您正在尝试的操作。

您的系统可能有一个 strcasecmp(3) (UNIXy) 或 _stricmp (windows) 函数,这对您来说会更方便(尽管不是标准的)。

strcasecmp 在 POSIX 中,所以如果您选择这条路线,它可能非常便携。

关于在c中转换为小写后比较字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17899993/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com