generally if you wanted to ignore case in a string, you would have to normalize the string first before any compares.
Normalizing usually consists of converting the characters to one form or the other and it doesn't matter which but you want to make things consistent for both sides of the compare for your sort.
@cire your code is not working well in Dev. Gets error at line 16 "no matching function for call to `sort(char[100], char*, main()::<anonymous struct>&)' ."
@Azagaros I have tried to use that algorithm. Success for agarTaLa but not Agartala. Typing "Agartala" as input resulted in "AAAAgltr". This is my loop for fulfiling that: