Hej, w jaki sposób używając języka C mogę zamienić:
char* str = "aBcĄśĆ";
na "abcąść.
Męczę się z metodą lowercase - ona działa poprawnie wyłącznie dla znaków ASCII.
Hej, w jaki sposób używając języka C mogę zamienić:
char* str = "aBcĄśĆ";
na "abcąść.
Męczę się z metodą lowercase - ona działa poprawnie wyłącznie dla znaków ASCII.
Masz dwie podstawowe możliwości:
Jakie kodowanie? Windows-1250, Utf-8, ....?
Da się zrobić w standardowym C.
Nawet jest przykład w dokumentacji: https://en.cppreference.com/w/c/string/byte/tolower
Ja umiarkowanie odradzam to rozwiązanie wyżej, z setlocale
jest sto jeden problemów, a w wielowątkowych aplikacjach to już w ogóle… Więcej na ten temat: https://github.com/mpv-player/mpv/commit/1e70e82baa9193f6f027338b0fab0f5078971fbe (uwaga, język mocno nieparlamentarny)
Co prawda własne rozwiązanie pewnie nie będzie dużo lepsze…