Làm thế nào để bạn sắp xếp một mảng các chuỗi trong C++ mà sẽ làm cho điều này xảy ra theo thứ tự này:Sắp xếp một mảng chuỗi trong C++ không có vấn đề 'A' hoặc 'a' và với å, ä ö?
mr Anka
Ông 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;
}
}
Chúng có phải là các ký tự Unicode hay không - hoặc chỉ là một mã ANSI. Anh ta đang sử dụng "chuỗi" sau tất cả. – Steve314
Tùy thuộc vào mã hóa. Nếu các tệp nguồn của anh ta được mã hóa dưới dạng UTF-8, việc sử dụng 'std :: string' là tốt, và mỗi lần xuất hiện của Äå sẽ được biểu diễn bằng chuỗi byte thích hợp. Börk, börk, börk! – Will
Tôi chỉ đơn giản có nghĩa là bạn không có lý do gì để giả sử Unicode. std :: wstring sẽ là bằng chứng tốt cho thấy unicode đã được sử dụng. std :: string nói một trong hai cách. – Steve314