gpt4 book ai didi

c++ - 使用 strcmp 比较字符数组中的字符

转载 作者:搜寻专家 更新时间:2023-10-31 00:23:21 25 4
gpt4 key购买 nike

我已将一个 xml 文件读入一个 char [] 中,并试图将该数组中的每个元素与某些字符(例如“<”和“>”)进行比较。 char 数组“test”只是一个元素的数组,包含要比较的字符(我必须这样做,否则 strcmp 方法会给我一个关于将 char 转换为 cons char* 的错误)。但是,出了点问题,我无法弄清楚。这是我得到的:
< 正在比较:< 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;
}

}

最佳答案

strcmp() 期望它的两个参数都是以 null 结尾的字符串,而不是简单的字符。如果要比较字符是否相等,不需要调用函数,只需要比较字符:

if (test[0] == '<') ...

关于c++ - 使用 strcmp 比较字符数组中的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2216143/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com