我在 C++ 中有以下代码:
string StringTest = "Test";
bool OriginalWord = true;
for (unsigned int i = 0; i < StringTest(); i++) {
string Character = towlower(StringTest[i]);
string CharacterOriginal = StringTest[i];
if (Character != CharacterOriginal) {
//t vs. T should trigger false, but never happens?
//e vs. e should trigger true
//s vs. s should trigger true
//t vs. t should trigger true
OriginalWord = false;
}
}
请注意,我使用towlower
而不是tolower
.
这总是导致一种OriginalWord=true
情况。但是,例如 Test 应该还给我OriginalWord=false
。因为towlower(T)
将导致 t 和 the CharacterOriginal = T
,这意味着它们不一样,因此OriginalWord=false
?
我究竟做错了什么?我想它必须与towlower
功能有关