gpt4 book ai didi

c++ - C++比较两个字符串

转载 作者:行者123 更新时间:2023-11-30 02:56:00 24 4
gpt4 key购买 nike

我在用 C++ 比较两个字符串时遇到了一个奇怪的问题。

c 指向 "dreamy",我已经从 printf 声明中确认了这一点。现在我想将它与“梦幻”字符串进行比较,但每次它进入其他部分并显示不匹配。

Str1 和 Str2 的 cout 语句也打印相同的输出“dreamy”但是 Str1 的长度显示 7 而 Str2 的长度显示 6。

谁能告诉我问题是什么以及如何解决。

谢谢。

        char *c;
c = strtok (temp,",");
// Here printf ("%s\n",c); prints dreamy
while (c != NULL)
{
std::string Str1 = std::string(c);
std::string Str2 = std::string("dreamy");
cout << "Str1 " << Str1 << "Len" << Str1.length() <<endl; // Len = 7 showing for c = "dreamy"
cout << "Str2 " << Str2 << "Len" << Str2.length() <<endl; // Len = 6 for "dreamy"
if(Str1.compare(Str2) == 0)
{
cout << "Finally Match";
presence[1] = 1;
}
else
cout << " Dont Match";
printf ("%s\n",c);

最佳答案

Len = 7 表示第一个字符串中存在虚假字符(可能是空格或换行符)。

关于c++ - C++比较两个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15970259/

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