주어진 : 내가 주어진 (유니 코드) 문자열에서 특수 문자를 제거 할 수있는 방법을wchar_t 배열을 필터링하는 방법은 무엇입니까?
wordspunctuationspecialchars
:
wchar_t filter_chars[] = L".+,?=&";
wchar_t haystack[] = L"words+punctuation&special_chars?";
은 결과를 원하는?
내가는 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);
}
넓은 문자열 리터럴에는 "L"접두사가 필요하며 "L"은 ""와 같습니다. –
죄송합니다. 실제로 원래 코드에서 사용했지만 작동하지 않습니다. – ChaseTheSun
루프도 의미가없는 것처럼 보입니다. 'j'의 요점은 무엇입니까? 그리고 왜 단 한 문자가 아닌 전체 문자열 꼬리를 항상 복사합니까? –