【发布时间】:2010-02-07 06:10:28
【问题描述】:
我已将 xml 文件读入 char [] 并尝试将该数组中的每个元素与某些字符进行比较,例如“”。 char 数组“test”只是一个元素的数组,包含要比较的字符(我必须这样做,否则 strcmp 方法会给我一个关于将 char 转换为 cons char* 的错误)。但是,出了点问题,我无法弄清楚。这是我得到的:
知道发生了什么吗?
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*之类的错误,并根据您的理解进行修复,而不是绕开它。此外,向我们展示你得到的输出对我们来说不是错误,我们不知道它实际上想说什么。 :) 最后,这是 C++!使用std::string,让您的生活更轻松。 -
一次比较一个元素,不需要比较字符串。比较 char,
'<' == str[i] -
我会使用字符串类,但我正在读取一个可能没有空格的 xml 文件(即
asdfsaf asdfsaf 所以我想最好的方法是逐个字符。无论如何,“'