gpt4 book ai didi

在 C 中比较 char*

转载 作者:太空宇宙 更新时间:2023-11-04 02:03:42 25 4
gpt4 key购买 nike

我正在尝试比较位模式,为此我有一个将模式保存为字符串的结构。然后我想将该字符串与我构建的另一个字符串进行比较。我正在使用 strcmp,但它匹配两个字符串,即使它们不匹配。这是我的代码

typedef struct
{
int emp;
char *context;
int numOnes;
int numZeros;


}Pattern;

char *patt, str[t+1];
patt = str;
while(count<t){
//printf("Stream: %d\n", stream[end]);
if(stream[end] == 1){
patt[count]= '1';
//writeBit(1);
}
else{
patt[count]='0';
//writeBit(0);
}


end--;
count++;
} //code to build a string

while(i<(1<<t)&&(found==0)){
if((strcmp(patt,patterns[i].context)==0)){
if(patterns[i].numOnes <= patterns[i].numZeros){
prediction = 0;
checkPredict(prediction,stream[end], i);
}
else{
prediction = 1;
checkPredict(prediction,stream[end], i);
}
found = 1;

}
else{
found = 0;
}
i++;
}//comparing string

最佳答案

您永远不会终止 patt,即在最后一个字符之后写入 '\0' 字符。因此,它不是有效的字符串,因此您不能对其使用 strcmp()

关于在 C 中比较 char*,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23292576/

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