memcmp返回值突然异常的问题排查求助
memcmp返回值突然异常的问题排查求助
各位大佬好,我最近碰到个棘手的问题,想请大家帮忙分析下。我正在用GTest库测试自己实现的几个memcmp函数版本,测试逻辑里会把自己实现的结果和标准库memcmp的返回值做对比,但最近改了代码之后,标准库的memcmp居然开始返回一些意料之外的结果了,这让我完全摸不着头脑。
我已经把所有不影响问题的代码都注释掉了,只留下了关键的测试部分,代码如下:
#include <gtest/gtest.h> using namespace std::string_literals; struct MemcmpTestCase { std::string s1; std::string s2; int n; int result; }; std::vector<MemcmpTestCase> testCases { { "", "", 0, 0 }, { "", "1", 0, 0 }, { "", "1", 20, 0-'1' }, { "1", "", 0, 0 }, { "1", "", 20, '1' }, { "123456789", "", 5, '1' }, { "123456789", "1234", 5, '5' }, { "1234... };
目前我就是搞不明白,为什么之前一直正常的标准库memcmp返回值突然就不对了,有没有熟悉GTest或者memcmp细节的朋友能帮我找找问题所在?
备注:内容来源于stack exchange,提问作者AvidCoder
相关产品推荐
相关产品推荐

