[Development] qPrintable encoding issues

Thiago Macieira thiago.macieira at intel.com
Fri Feb 28 17:46:12 CET 2014


Em sex 28 fev 2014, às 08:17:54, Thiago Macieira escreveu:
> Em sex 28 fev 2014, às 13:00:31, Koehne Kai escreveu:
> > > -----Original Message-----
> > > From: development-bounces+kai.koehne=digia.com at qt-project.org
> > > [...]
> > > qDebug("%ls", string.utf16());
> > 
> > This will actually not compile with gcc, because we tell the compiler
> > explicitly we're printf-compatible:
> > 
> > error: format '%ls' expects argument of type 'wchar_t*', but argument 1
> > has
> > type 'const ushort* {aka const short unsigned int*}' [-Werror=format=]
> > 
> > Argh.
> 
> We can turn that error off. But it will also stop catching other printf
> errors.

Another solution is to add another wrapper, like qPrintable, that does this:

#define qWPrintable(s)	(s.toStdWString().c_str())

So:
	qDebug("%ls\n", qWPrintable(s));

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center




More information about the Development mailing list