Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Porównywanie napisów uwzględniając polskie znaki

Ostatnio zmodyfikowano 2019-01-13 13:52
Autor Wiadomość
artblow
Temat założony przez niniejszego użytkownika
Porównywanie napisów uwzględniając polskie znaki
» 2019-01-12 20:19:03
Witam serdecznie, otóż mam problem.
Potrzebuje funkcji, która będzie wstanie porównywać dwa stringi/tablice char zależy jak będzie łatwiej.
Otóż problem jest taki że słowa zawierają polskie znaki typu ć,ź,ż ale i też duże znaki Ś,Ż,Ć i resztę alfabetu również duże i małe znaki np
porównuje: Buty i ćma.
Nie wiem jak to ująć w jednej funkcji albo może istnieje już taka, która uwzględnia polskie znaki i traktuje duże jak małe.
Dziękuję serdecznie za pomoc
P-173514
jankowalski25
» 2019-01-12 20:57:29
Jeśli problem stanowią tylko polskie znaki, to można po prostu zamienić wszystkie duże litery na małe (albo na odwrót, byleby wszystkie litery były tylko duże albo tylko małe), a dalej użyć klasycznego porównania (w przypadku
std::string
 wystarczy
str1 == str2
).
P-173517
artblow
Temat założony przez niniejszego użytkownika
» 2019-01-13 13:01:28
Zamienienie dużych znaków na małe to nie problem ale jak się popatrzy na Kod ASCII to ś jest na 152 miejscu a s na 115 wiec trochę nie wyjdzie żeby napisy zostały ułożone w kolejności alfabetycznej. Aktualnie używałam funkcji stricmp ale ona nie uwzględnia właśnie polskich znaków i szukam właśnie czegoś żeby ją zastąpić
P-173523
pekfos
» 2019-01-13 13:52:41
C/C++
#include <iostream>
#include <cstring>

int main()
{
    setlocale( LC_ALL, "" );
    std::cout << strcoll( "a", "ą" ) << '\n';
    std::cout << strcoll( "ą", "b" ) << '\n';
}
-1
-1
P-173527
« 1 »
  Strona 1 z 1