Нашли или выдавили из себя код, который нельзя назвать нормальным,
на который без улыбки не взглянешь?
Не торопитесь его удалять или рефакторить, — запостите его на
говнокод.ру, посмеёмся вместе!
char* setw_c(int width, char* str, const char align){
width = width - strlen(str) / 2;
if (align == 'l'){
std::cout << str;
if (width > 0)
for (int i = 0; i < width - 1; i++)
std::cout << " ";
return " ";
} else {
if (width > 0)
for (int i = 0; i < width; i++)
std::cout << " ";
return str;
}
}
вот так коряво я решил проблему с setw(), кириллицей и utf-8.
strlen() - чуть ли не единственная функция из cstring, более-менее нормально работающая с кириллицей в utf-8, да и то возвращает не реальную длину, а в два раза бОльшую, т.к. в utf-8 символ кириллицы занимает 2 байта, вместо одного, чего эта функция не учитывает.
если бы не было по барабану, то он бы 2 минуты своего драгоценного времени потратил чтобы гуглянуть как с utf-8/Unicode правильно работать надо - прежде чем вот это здесь постить.
> strlen() - чуть ли не единственная функция из cstring, более-менее
> нормально работающая с кириллицей в utf-8, да и то возвращает
> не реальную длину, а в два раза бОльшую
ВНЕЗАПНО!!!!1
решил??????
выпей яду/убей себя об стену.
если бы не было по барабану, то он бы 2 минуты своего драгоценного времени потратил чтобы гуглянуть как с utf-8/Unicode правильно работать надо - прежде чем вот это здесь постить.
> нормально работающая с кириллицей в utf-8, да и то возвращает
> не реальную длину, а в два раза бОльшую
ВНЕЗАПНО!!!!1