Master-X
Форум | Новости | Статьи
Главная » Форум » Программинг, Скрипты, Софт, Сервисы » 
Тема: C++, регистр текста
цитата
05/08/10 в 20:28
 FXIX
Господа, ламерский вопрос:

Цитата:

#include <ctype.h>
#include <iostream>
#include <algorithm>

using namespace std;

int main()
{
string s = "привет";
transform(s.begin(), s.end(), s.begin(), (int(*)(int)) toupper);
cout << s << endl;
}


пытаюсь перевести строку в верхний регистр. кодировка файла utf-8. не переводит. Если вместо "привет" будет "hellow" то переводит. ОС - ubuntu.
цитата
05/08/10 в 21:28
 _s_[sov]
не знаю как в с++ а в php нужно локаль подключить icon_cool.gif
цитата
05/08/10 в 21:34
 FXIX
Цитата:

#include <ctype.h>
#include <iostream>
#include <algorithm>

using namespace std;

int main()
{
string s = "привет";
locale loc("ru_RU.utf8");
const ctype<char>& ct = use_facet<ctype<char> >(loc);
transform(s.begin(), s.end(), s.begin(), std::bind1st(std::mem_fun(&ctype<char>::toupper), &ct));
cout << s << endl;
}


так тоже не хотит
цитата
05/08/10 в 21:41
 _s_[sov]
FXIX: а там пробела у utf не нада? и еще в пыхе LC_ALL перед этим идет, в сиплюсе хз. но попробуй воткни
цитата
05/08/10 в 21:58
 LeadFarmer
#include <clocale>
using namespace std;

setlocale(LC_CTYPE,"Russian");
цитата
05/08/10 в 23:21
 msth
зачем C++ ?

Код:
~ $ echo 'slovo слово' | sed 's/[[:lower:]]/\u&/g'
SLOVO СЛОВО
цитата
06/08/10 в 08:06
 FXIX
нашлось решение http://www.sql.ru/Forum/actualthread.aspx?bid=21&tid=621768&hl=
спасибо за участие, всем насыпал с горкой smail54.gif


Эта страница в полной версии