使用strcmp扫描数组

时间:2011-09-19 02:50:28

标签: c cstring strcmp

我想知道是否有一种方法可以使用strcmp扫描数组以进行匹配。我知道传递给strcmp的参数是C字符串。所以这样的事情是行不通的:

strcmp(arrayofstrings[x], c-string)

2 个答案:

答案 0 :(得分:1)

只要参数可以简化为const char*类型,它就可以工作。

char *a[] = { "Hello", "Hello" };  // Array of pointers to c strings
if ( !strcmp(a[0],a[1]) ){
    // true in this case
}

答案 1 :(得分:0)

如果您正在尝试搜索整个数组,而不是仅仅比较两个元素,则需要循环。

const int N = 10;
const char * desired = "desiredString";
char * arrayOfStrings[N];

// You should initialize the elements
// in arrayOfStrings[] before searching

// Searching an unsorted array is O(N)
for(i = 0; i < N; i++)
{
    if(strcmp(arrayOfStrings[i], desired) == 0)
    {
        printf("Found %s.", desired);
        break;
    }
}