Re[2]: fastformat char & wchar_t
От: Аноним  
Дата: 16.05.09 18:31
Оценка:
Здравствуйте, VoidEx, Вы писали:

VE>Здравствуйте, Аноним, Вы писали:


А>>Что посоветуете?



VE>
VE>#include <tchar.h>

VE>namespace std {
VE>  typedef std::basic_string<TCHAR> tstring;
VE>}

VE>std::tstring tmsg;
VE>ff::fmt(tmsg, _T("Hello, {0}!{1}{1}"), _T("World"), 1);
VE>


У меня проблема не в выборе типа строки, проблема в использовании std::string и std::wstring в одной и той же проге с fastformat.
Если проект юникодный, то fastformat может выводить только в std::wstring.

Например:

std::wstring text;
// unicode
ff::fmt( text, L"Hello, {0}!", "World" );

int er = f( text );

if( er < 0 )
{
    std::string msg;
    // multi-byte
    ff::fmt( msg, __FUNCTION__ " has fail with error #{1}", er ); // ошибка компиляции

    throw std::runtime_error( msg );
}
fastformat
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.