#include <iostream>
#include <string>
#include <cstring>
using namespace std;
int main(){
string a="asdasd";
if(!strchr(a,'a')) cout<<"yes";
return 0;
}
我刚刚开始学习C ++编程,我不知道为什么我在这行中出错了
if(!strchr(a,'a')) cout<<"yes";
但是,如果我尝试像这样编码,它会很好地运行。
if(!strchr("asdasd",'a')) cout<<"yes";
我知道这是一个愚蠢的问题,但我真的不知道为什么......抱歉..
答案 0 :(得分:3)
库函数strchr
用于C风格的字符串,而不是C ++ string
类型。
答案 1 :(得分:2)
使用std::string
时,strchr
的最接近等值为find
:
#include <iostream>
#include <string>
int main(){
std::string a="asdasd";
if(a.find('a') != std::string::npos) std::cout<<"yes";
}