我已经将一个XML文件读入char []中,并尝试将该数组中的每个元素与特定字符进行比较,如“<”和“>”。char数组“test”只是一个元素的数组,包含要比较的字符(我必须这样做,否则strcmp方法会给我关于将char转换为cons char*的错误)。但是,有些问题出现了,我无法解决。这是我得到的:
<正在被比较:< strcmp值:44
<正在被比较:< strcmp值:44
您有什么想法发生了什么?
char test[1];
for (int i=0; i<amountRead; ++i)
{
test[0] = str[i];
if( strcmp(test, "<") == 0)
cout<<"They are equal"<<endl;
else
{
cout<<test[0]<< " is being compare to: "<<str[i]<<" strcmp value= "<<strcmp(test, "<") <<endl;
}
}
char
到const char*
这样的错误,并根据自己的理解来修复它,而不是通过 hack 的方式绕过去。此外,向我们展示你得到的输出并不能解决错误,因为我们不知道它实际上应该说什么。:) 最后,这是 C++! 使用std::string
让你的生活更轻松。 - GManNickG'<' == str[i]
。 - Anycorn