Jak sortować tablicę ciągów w języku C++, które uczynią to się stało w tej kolejności:Sortowanie szyku ciągów w C++ bez względu na "A" lub "a" oraz z å, ä ö?
mr Anka
Brown
mr Ceaser
mR Donk
mr lish
Mr Ętt
mr OND
//following not the way to get that order regardeless upper or lowercase and å, ä, ö
//in forloop...
string handle;
point1 = array1[j].find_first_of(' ');
string forename1(array1[j].substr(0, (point1)));
string aftername1(array1[j].substr(point1 + 1));
point2 = array1[j+1].find_first_of(' ');
string forename2(array1[j+1].substr(0, (point2)));
string aftername2(array1[j+1].substr(point2 + 1));
if(aftername1 > aftername2){
handle = array1[j];
array1[j] = array1[j+1];
array1[j+1] = handle;//swapping
}
if(aftername1 == aftername2){
if(forname1 > forname2){
handle = array1[j];
array1[j] = array1[j+1];
array1[j+1] = handle;
}
}
Czy są to jednak znaki Unicode - lub tylko strona kodowa ANSI. W końcu używa "łańcucha". – Steve314
Zależy od kodowania. Jeśli jego pliki źródłowe są zakodowane jako UTF-8, użycie 'std :: string' jest w porządku, a każde wystąpienie Ęå będzie reprezentowane przez odpowiednią sekwencję bajtów. Börk, börk, börk! – Will
Po prostu mówię, że nie masz powodu, aby zakładać Unicode. std :: wstring byłby dobrym dowodem na to, że unicode był w użyciu. std :: string mówi trochę inaczej. – Steve314