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 展开
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 展开
1个回答
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++;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询