0

我正在尝试将字符串(忽略大小写)与向量字符串中的指定元素进行比较(我不想查看字符串是否存在于向量中的任何位置,仅当它存在于特定索引处时)。

我没有像往常一样使用字符串比较成功。任何帮助,将不胜感激。

4

1 回答 1

0

strnicmp( ... ) 是您的工具。'n' 用于限制长度,'i' 用于不区分大小写。您只需要将特定索引添加到向量中:vector+pos&vector[pos]

int isKeyFoundAtPos( const char* key, const char* vector, int vPos) {

    if( vPos > strlen(vector) )  // if you want to be safe, check for this and deal with it.
        return -1;

    return 0 == strnicmp( key, vector+vPos, strlen(key) );
}

...

const char* myKey = "abc";
const char* myVector = "123abc456ABC";

isKeyFoundAtPos( myKey, MyVector, 3 ); // string found
isKeyFoundAtPos( myKey, MyVector, 9 ); // string also found

我编写了包装程序作为示例,但老实说,我只是strnicmp()直接使用。

于 2013-08-15T02:27:05.403 回答