假设我有一个指向以空结尾的字符串pString
的指针.假设我想使用memcmp
将其与另一个字符串进行比较,例如:
bool eq = memcmp(pString, "test", sizeof("test")) == 0;
pString
可以依次位于虚拟页的末尾,并且下一页可以被取消分配.例如:
char c1 = pString[0]; // 'x'
char c2 = pString[1]; // '\0'
char c3 = pString[2]; // ACCESS VIOLATION
在这种情况下,如果memcmp
不按顺序比较字节,程序可能会崩溃.我的问题是,能保证按顺序进行比较吗?
我知道有strcmp
个.这个例子只是为了澄清这个问题.对于实际问题,请阅读标题.谢谢.