当前位置:  开发笔记 > 编程语言 > 正文

strstr功能与2015年不起作用

如何解决《strstr功能与2015年不起作用》经验,为你挑选了1个好方法。

所以,我必须介绍一些名称(并不重要),并计算其中有多少我可以找到子字符串'ana'.我不允许使用char作为名称,我需要使用字符串.我编写的代码就像我想的那样简单,但我的strstr函数不起作用.

#include 
#include 
#include


using namespace std;

void main()
{
    string name;
    string ana;
    int ok = 0;
    int nr = 0;
    ana = "ana";
    cout << "if you want to stop entering names introduce 1 after the last name, else introduce 0.";
    while (ok == 0)
    {
        cout << "Name here: " << flush;
        getline(cin, name);
        if (strstr(name, ana) != 0)
            nr++;
        cin >> ok;
    }
    cout << "The number of names that contain 'ana' is: " << nr;
}

你能帮我个忙吗?错误是:"严重程序代码说明项目文件行抑制状态错误C2665'strstr':2个重载中没有一个可以转换所有参数类型T1E1 e:\ uni\an ii\lf\t1e1\t1e1\e1.cpp 20"



1> R Sahu..:

strstr适用于C字符串,而不是std::string.

std::string::find改用.

代替

  if (strstr(name, ana) != 0)
        nr++;

使用

  if ( name.find(ana) != std::string::npos )
     nr++;

推荐阅读
我我檬檬我我186
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有