具有相同大小和内容的 C++ 字符串比较返回 false

an4rei

当我尝试将函数产生的字符串与手动声明的字符串进行比较时遇到问题:

string ip = "3.3.333.33";

string cuxa(){

    HINTERNET hInternet, hFile;
    DWORD rSize;
    char buffer[47];

    hInternet = InternetOpen(NULL, INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);
    hFile = InternetOpenUrlA(hInternet, "https://www.myexternalip.com/raw", NULL, 0, INTERNET_FLAG_RELOAD, 0);
    InternetReadFile(hFile, &buffer, sizeof(buffer), &rSize);
buffer[rSize] = '\0';

    InternetCloseHandle(hFile);
    InternetCloseHandle(hInternet);
    return buffer;
}

所以基本上,当我做一个简单的

if(cuxa() == ip){ cout << "false"; }

=> 不会返回任何内容,因为该比较是错误的。

它们都有相同的大小,相同的字符串内容,但我无法让它工作。

我很感激任何建议,谢谢!

用户36278

您的问题是,当www.myexternalip.com报告 IP 地址时,它的末尾有一个尾随换行符。

示例输出:

10.04.56.14/n

要解决您的问题,只需用空终止字符覆盖换行符。

buffer[rSize-1] = '\0';

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

比较相同的字符串返回false

来自分类Dev

字符串比较返回 false 而它们具有相同的值

来自分类Dev

连接字符串和整个字符串之间的比较返回false;

来自分类Dev

比较2个相同外观的字符串时返回false

来自分类Dev

比较相等的字符串返回false

来自分类Dev

PHP字符串'=='在相同字符串上返回false

来自分类Dev

C#字符串比较等于false

来自分类Dev

为什么我不能比较这两个字符串?字符串输入相同,但始终返回false

来自分类Dev

C ++-Haystack / Needle字符串检查始终返回false

来自分类Dev

isEqualToString对于相同的字符串返回false吗?

来自分类Dev

字符串的`contains(“ \ n”)`返回false,而字符串中有返回

来自分类Dev

比较十六进制字符串都返回false

来自分类Dev

来自嵌套的字符串比较返回始终为 false

来自分类Dev

在C语言中,具有相同内容的字符串总是存储在相同的内存中吗?

来自分类Dev

比较具有相同内容的队列时,Bool Equals方法始终返回false

来自分类Dev

将测试文件中的现有字符串与带有参数的新输入对象进行比较时,总是返回false

来自分类Dev

是否可以比较C中相同变量的字符串?

来自分类Dev

比较2字符串即使结果相同也给出false

来自分类Dev

比较C#中的字符串和对象

来自分类Dev

C ++中字母和字符串的比较

来自分类Dev

比较std :: string和C样式的字符串文字

来自分类Dev

在C中比较和定义字符串

来自分类Dev

C ++-负数和正数之间的比较返回false

来自分类Dev

在C ++中,如何比较字符数组和字符串的大小?

来自分类Dev

比较命令行参数参考返回false,而字符串数组返回true

来自分类Dev

日期到UTC字符串的返回日期在一天之内,但比较返回false

来自分类Dev

比较命令行参数参考返回false,而字符串数组返回true

来自分类Dev

C++ - 创建具有相同字符的特定大小的空终止 c 样式字符串的更好方法

来自分类Dev

JavaScript === 运算符为相同的字符串返回 false

Related 相关文章

  1. 1

    比较相同的字符串返回false

  2. 2

    字符串比较返回 false 而它们具有相同的值

  3. 3

    连接字符串和整个字符串之间的比较返回false;

  4. 4

    比较2个相同外观的字符串时返回false

  5. 5

    比较相等的字符串返回false

  6. 6

    PHP字符串'=='在相同字符串上返回false

  7. 7

    C#字符串比较等于false

  8. 8

    为什么我不能比较这两个字符串?字符串输入相同,但始终返回false

  9. 9

    C ++-Haystack / Needle字符串检查始终返回false

  10. 10

    isEqualToString对于相同的字符串返回false吗?

  11. 11

    字符串的`contains(“ \ n”)`返回false,而字符串中有返回

  12. 12

    比较十六进制字符串都返回false

  13. 13

    来自嵌套的字符串比较返回始终为 false

  14. 14

    在C语言中,具有相同内容的字符串总是存储在相同的内存中吗?

  15. 15

    比较具有相同内容的队列时,Bool Equals方法始终返回false

  16. 16

    将测试文件中的现有字符串与带有参数的新输入对象进行比较时,总是返回false

  17. 17

    是否可以比较C中相同变量的字符串?

  18. 18

    比较2字符串即使结果相同也给出false

  19. 19

    比较C#中的字符串和对象

  20. 20

    C ++中字母和字符串的比较

  21. 21

    比较std :: string和C样式的字符串文字

  22. 22

    在C中比较和定义字符串

  23. 23

    C ++-负数和正数之间的比较返回false

  24. 24

    在C ++中,如何比较字符数组和字符串的大小?

  25. 25

    比较命令行参数参考返回false,而字符串数组返回true

  26. 26

    日期到UTC字符串的返回日期在一天之内,但比较返回false

  27. 27

    比较命令行参数参考返回false,而字符串数组返回true

  28. 28

    C++ - 创建具有相同字符的特定大小的空终止 c 样式字符串的更好方法

  29. 29

    JavaScript === 运算符为相同的字符串返回 false

热门标签

归档