vector string-利用vector<string>实现子串的查找

问题描述

利用vector<string>实现子串的查找

我想用下面这个程序实现子字符串的查找功能,为什么不行呢,大家伙帮我看看问题出在哪。。。
#include
#include
#include
using namespace std;
int findstr(vector vec,string s )
{
int n=0;
for(vector::size_type i=0;i!=vec.size();++i)
if(strcmp(vec[i],s)==0)
n++;
return n;
}
void main()
{
vector vec1;
string s2("you");
string word;
while(cin>>word)
{
vec1.push_back(word);
}
int k=findstr(vec1,s2);
if(k==0)
puts("Not find.");
else
cout<<s2<<" "<<k<<endl;
}

解决方案

using namespace std;
int findstr(vector vec,char* s )
{
int n =0;
for(vector::iterator iter=vec.begin() ;iter!=vec.end();iter++)
{
if(strcmp(*iter,s)==0)
n++;
}
return n;
}
void main()
{
vector vec1;
char* s2("you");
char word[20][20];
int i=0;
while(cin>>word[i])
{

if(0==strcmp("no",word[i]))
{
    break;
}
vec1.push_back(word[i]);
i++;

}
int k=findstr(vec1,s2);
if(k==0)
puts("Not find.");
else
cout<<s2<<" "<<k<<endl;
}
赶紧采纳啊。

时间: 2024-09-15 08:13:44

vector string-利用vector&amp;lt;string&amp;gt;实现子串的查找的相关文章

xcode使用lldb的python脚本查看WebKit的WTF::String和Vector等基础类

webkit关于gdb的wiki:http://trac.webkit.org/wiki/GDB 它是自带了gdb和lldb的python脚本的,路径分别在 webkit workingcopy/Tools/gdb/webkit.py 直接看脚本内容http://trac.webkit.org/browser/trunk/Tools/gdb/webkit.py webkit workingcopy/Tools/lldb/lldb_webkit.py 直接看脚本内容http://trac.webk

编写函数,以读模式打开一个文件,将其内容读入到一个string的vector中,将每一行作为一个对立的元素存于vector中

#include<iostream> #include<string> #include<vector> #include<fstream> using namespace std; int main(int argc,char *argv[]) { ifstream input(argv[1]); vector<string> vec; string tmp; while(getline(input,tmp)) { vec.push_back(

Java中vector理解1——vector的用法

Vector可实现自动增长的对象数组. java.util.vector提供了向量类(vector)以实现类似动态数组的功能.在Java语言中没有指针的概念,但如果正确灵活地使用指针又确实可以大大提高程序的质量.比如在c,c++中所谓的"动态数组"一般都由指针来实现.为了弥补这个缺点,Java提供了丰富的类库来方便编程者使用,vector类便是其中之一.事实上,灵活使用数组也可以完成向量类的功能,但向量类中提供大量的方法大大方便了用户的使用. 创建了一个向量类的对象后,可以往其中随意插

Java中vector理解2——vector和arrayList的区别

这两类都实现List接口,而List接口一共有三个实现类,分别是ArrayList.Vector和LinkedList.List用于存放多个元素,能够维护元素的次序,并且允许元素的重复.3个具体实现类的相关区别如下: ArrayList是最常用的List实现类,内部是通过数组实现的,它允许对元素进行快速随机访问.数组的缺点是每个元素之间不能有间隔,当数组大小不满足时需要增加存储能力,就要讲已经有数组的数据复制到新的存储空间中.当从ArrayList的中间位置插入或者删除元素时,需要对数组进行复制

Java Swing中的JButton、JComboBox、JList和JColorChooser组件使用案例_java

Swing 的组件与AWT 组件相似,但又为每一个组件增添了新的方法,并提供了更多的高级组件. Swing 的基本组件: 1.按钮(JButton): Swing 中的按钮可以显示图像,并且可以将按钮设置为窗口的默认图标,而且还可以将多个图像指定给一个按钮. (1).JButton 常用的构造方法. JButton(String text):按钮上显示字符. JButton(Icon icon) :按钮上显示图标. JButton(String text, Icon icon):按钮上既显示图标

c++-vector&amp;amp;lt;string&amp;amp;gt;类型如何转换成string

问题描述 vector<string>类型如何转换成string vector vstrrow; vstrrow[0]如何转换成string类型啊 求各位大神帮忙 解决方案 vector<string> vec;//定义个一个字符串容器 string str; str = "abc"; vec.push_back(str);//把字符串str压进容器 vec.push_back("def");//把字符串"def"压进容器

C++程序设计:原理与实践(进阶篇)15.7 vector、list和string

15.7 vector.list和string 为什么我们对行用list而对字符用vector呢?更准确地说,我们为什么要用list保存行的序列而用vector保存字符序列呢?再有,为什么不用string来存储一行呢? 我们可以把这些问题再一般化一些.到现在为止,我们知道了四种存储字符序列的方法: char[](字符数组): vector<char>: string: list<char>. 那么对于一个给定问题应该采取哪种存储方式呢?当问题非常简单时,选择哪种方式都无所谓,因为它

java实现利用String类的简单方法读取xml文件中某个标签中的内容_java

1.利用String类提供的indexOf()和substring()快速的获得某个文件中的特定内容 public static void main(String[] args) { // 测试某个词出现的位置 String reqMessage = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>" + "<in>" + "<head&g

Android Vector曲折的兼容之路

Android Vector曲折的兼容之路 两年前写书的时候,就在研究Android L提出的Vector,可研究下来发现,完全不具备兼容性,相信这也是它没有被广泛使用的一个原因,经过Google的不懈努力,现在Vector终于迎来了它的春天. 在文章后面,会给出本文的Demo和效果图,并开源在Github Vector Drawable Android 5.0发布的时候,Google提供了Vector的支持.Vector Drawable相对于普通的Drawable来说,有以下几个好处: Ve