C++ string迭代器随机访问问题

程序的目的是想统计一个字符串中1出现的次数,但到了这一步出现了问题:for(autoa=longString.begin();a!=longString.end();++... 程序的目的是想统计一个字符串中 1 出现的次数,但到了这一步出现了问题:
for(auto a = longString.begin();a!=longString.end();++a)
if(strcmp(a,"1"))
res++;
其中res是用来统计1 出现的次数的,在strcmp那一步编译器报错了。
该怎样修改呢?

另外,string迭代器到底是字符串还是一个字符,比如 string a ="abc";
auto beg = a.begin();中,beg是字符串a,还是一个字符a
展开
 我来答
匿名用户
2018-02-19
展开全部
for(auto a = longString.begin();a!=longString.end();++a)
    if('1' == *a)
        res++;
更多追问追答
追问
谢谢!比较字符串确实出了问题。但如果使用strcmp该怎么写呢?
追答
// strcmp 是比较字符串啊,对你要判断1的个数没用吧。

for(auto a = longString.begin();a!=longString.end();++a)
    if(!strncmp(&(*a), "1",1))   
        res++;
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式