转换语句中的strstr

时间:2014-03-19 05:51:32

标签: c++ switch-statement strstr

我正在创建一个允许用户输入字符串的程序,然后程序使用strstr函数搜索字符串中的各种单词,然后根据找到的单词调用不同的函数。我决定使用switch语句检查哪些单词存在。我制作了一个原型程序:

int main() {
    char str[] = "This is a string.";
    char str1[] = "is";
    int num = strstr(str, str1);

    switch(num) {
        case 0:
            cout<<"Str1 is present";
            break;
        case -1:
            cout<<"str1 is absent";
            break;
    }
}

它给出了错误:

  

来自&#39; char *&#39;的无效转换到&#39; int&#39; [-fpermissive]

我做错了什么?

1 个答案:

答案 0 :(得分:1)

strstr会返回char*const char*

阅读here

char str1 = "This is a string.";
char str2 = "is";
char* result = strstr(str1, str2);
if (result == NULL)
{
    cout<<"str1 is absent";
}
// etc