Здравствуйте, Аноним, Вы писали:
А>подскажите пожалуйста, как преобразовать std::string в std::wstring и обратно, желательно средствами stl или boost (без прямого вызова MultiByteToWideChar)?
посмотри этот файлик, правда я не тестировал...
Здравствуйте, MuTPu4, Вы писали:
MTP>Собственно, возник вопрос каков статус этого файлика и где он был взят. Я так понимаю из CVS/Sandbox CVS или еще откуда-то?
Здравствуйте, Аноним, Вы писали:
А>не правильно написал: А>int a=5; А>std::string s="test"; А>std::string d; А>d=s+a;
А>для std::string оператор + int тоже не определен? А>а как еще можно преобразовать, кроме itoa?
можно пользоваться строковыми потоками
int a=5;
std::string s="test";
std::stringstream ss;
ss << s << a;
std::string d = ss.str();
std::string
От:
Аноним
Дата:
25.10.05 06:01
Оценка:
подскажите пожалуйста, как преобразовать std::string в std::wstring и обратно, желательно средствами stl или boost (без прямого вызова MultiByteToWideChar)?
и еще, как std::string (std::wstring) присвоить int?
( строка типа
int a=5;
std::string s="test"+a;
дает ошибку
)
Здравствуйте, Аноним, Вы писали:
А>подскажите пожалуйста, как преобразовать std::string в std::wstring и обратно, желательно средствами stl или boost (без прямого вызова MultiByteToWideChar)?
А>и еще, как std::string (std::wstring) присвоить int? А>( строка типа А>int a=5; А>std::string s="test"+a; А>дает ошибку А>)
По второй части:
char* + int -- оператор "+" не определен.
нужно преобразовать int к строке, а уже потом прибавлять.
Причем не к char* опять же, а к string.
best...
Re[2]: std::string
От:
Аноним
Дата:
25.10.05 06:41
Оценка:
Здравствуйте, ilsd, Вы писали:
I>По второй части: I>char* + int -- оператор "+" не определен. I>нужно преобразовать int к строке, а уже потом прибавлять. I>Причем не к char* опять же, а к string.
I>best...
не правильно написал:
int a=5;
std::string s="test";
std::string d;
d=s+a;
для std::string оператор + int тоже не определен?
а как еще можно преобразовать, кроме itoa?
Здравствуйте, Аноним, Вы писали:
А>подскажите пожалуйста, как преобразовать std::string в std::wstring и обратно, желательно средствами stl или boost (без прямого вызова MultiByteToWideChar)?
mbcstowcs()
wcstombcs()
локаль устанавливать с помощью setlocale()
правда в msvc они рано или поздно всё равно вызывают MultiByteToWideChar()
Здравствуйте, Аноним, Вы писали:
А>Спасибо за помощь! А>использование mbstowcs/wcstombs/setlocale будет работать под другой платформай, отличной от ms windows?
В стандарте, в разделе standart functions эти функции есть
Здравствуйте, Аноним, Вы писали:
А>Спасибо за помощь! А>использование mbstowcs/wcstombs/setlocale будет работать под другой платформай, отличной от ms windows?
Здравствуйте, <Аноним>, Вы писали:
А>подскажите пожалуйста, как преобразовать std::string в std::wstring и обратно, желательно средствами stl или boost (без прямого вызова MultiByteToWideChar)?
Здравствуйте, Аноним, Вы писали:
А>подскажите пожалуйста, как преобразовать std::string в std::wstring и обратно, желательно средствами stl или boost (без прямого вызова MultiByteToWideChar)?
А>>использование mbstowcs/wcstombs/setlocale будет работать под другой платформай, отличной от ms windows?
M>Да, вполне успешно работает под Linux
Только надо помнить, что под Linux размер wchar_t равен 4 байта.
Если задать компилятору -fshort-wchar, wchar-t станет 2 байта, но естественно конвертация строк типа L"Hello" станет работать неправильно.