给定:
wchar_t filter_chars[] = L".+,?=&";
wchar_t haystack[] = L"words+punctuation&special_chars?";
期望的结果:
wordspunctuationspecialchars
我如何从给定的(unicode)字符串中删除特殊字符?
我正在使用 win32 c(没有 c++)
这是我尝试过的:
void filter(wchar_t str[]) {
wchar_t buf[80];
ZeroMemory(buf, 80);
UINT i, j;
for(i = j = 0; i < wcslen(str); i++) {
if (!wcschr(filter_chars, str[i])) {
wcscpy((wchar_t*)buf[j], (wchar_t*)str[i]);
}
}
wcscpy(str, buf);
}